Skip to content

Commit

Permalink
Added syslog handler for launch log
Browse files Browse the repository at this point in the history
Signed-off-by: Lennart Nachtigall <[email protected]>
  • Loading branch information
Lennart Nachtigall committed Oct 23, 2023
1 parent dd6ab0e commit 91316fb
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions launch/launch/logging/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@ def reset(self):
self._log_dir = None
self.file_handlers = {}
self.screen_handler = None
self.syslog_handler = None
self.screen_formatter = None
self.file_formatter = None
self._log_handler_factory = None
Expand Down Expand Up @@ -250,6 +251,17 @@ def get_screen_handler(self):
self.screen_handler.setFormatter(self.screen_formatter)
return self.screen_handler

def get_syslog_handler(self):
"""
Get the one and only syslog handler
"""
if self.syslog_handler is None:
self.syslog_handler = logging.handlers.SysLogHandler(address='/dev/log', facility='local1')

if self.file_formatter:
self.syslog_handler.setFormatter(self.file_formatter)
return self.syslog_handler

def set_log_format(self, log_format, *, log_style=None):
"""
Set up launch log file format.
Expand All @@ -275,6 +287,8 @@ def set_log_format(self, log_format, *, log_style=None):
)
for handler in self.file_handlers.values():
handler.setFormatter(self.file_formatter)
if self.syslog_handler:
self.syslog_handler.setFormatter(self.file_formatter)
else:
self.file_formatter = None

Expand Down Expand Up @@ -328,6 +342,10 @@ def get_logger(name=None) -> logging.Logger:
launch_log_file_handler = launch_config.get_log_file_handler()
if launch_log_file_handler not in logger.handlers:
logger.addHandler(launch_log_file_handler)
syslog_handler = launch_config.get_syslog_handler()
if syslog_handler not in logger.handlers:
logger.addHandler(syslog_handler)

return logger


Expand Down

0 comments on commit 91316fb

Please sign in to comment.