Wrapped stdout and stderr under the same application logger

This commit is contained in:
Fabio Manganiello 2019-01-02 11:38:21 +00:00
parent 5b9c54748e
commit 5a1169d8b8
2 changed files with 21 additions and 0 deletions

View file

@ -19,6 +19,7 @@ from .config import Config
from .context import register_backends from .context import register_backends
from .cron.scheduler import CronScheduler from .cron.scheduler import CronScheduler
from .event.processor import EventProcessor from .event.processor import EventProcessor
from .logger import Logger
from .message.event import Event, StopEvent from .message.event import Event, StopEvent
from .message.event.application import ApplicationStartedEvent, ApplicationStoppedEvent from .message.event.application import ApplicationStartedEvent, ApplicationStoppedEvent
from .message.request import Request from .message.request import Request
@ -29,6 +30,7 @@ __author__ = 'Fabio Manganiello <blacklight86@gmail.com>'
__version__ = '0.9.3' __version__ = '0.9.3'
LOGGER = logging.getLogger(__name__) LOGGER = logging.getLogger(__name__)
LOGGER.setLevel(logging.INFO)
class Daemon: class Daemon:
""" Main class for the Platypush daemon """ """ Main class for the Platypush daemon """
@ -171,6 +173,8 @@ def main():
Platypush daemon main Platypush daemon main
""" """
sys.stdout = Logger(LOGGER.info)
sys.stderr = Logger(LOGGER.warning)
print('Starting platypush v.{}'.format(__version__)) print('Starting platypush v.{}'.format(__version__))
app = Daemon.build_from_cmdline(sys.argv[1:]) app = Daemon.build_from_cmdline(sys.argv[1:])
app.start() app.start()

17
platypush/logger.py Normal file
View file

@ -0,0 +1,17 @@
import sys
class Logger:
def __init__(self, level):
self.level = level
def write(self, message):
if isinstance(message, bytes):
message = message.decode()
if message and message != '\n':
self.level(message.rstrip())
def flush(self):
pass
# vim:sw=4:ts=4:et: