Skip to content

Commit 91316fb

Browse files
author
Lennart Nachtigall
committed
Added syslog handler for launch log
Signed-off-by: Lennart Nachtigall <[email protected]>
1 parent dd6ab0e commit 91316fb

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

launch/launch/logging/__init__.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ def reset(self):
110110
self._log_dir = None
111111
self.file_handlers = {}
112112
self.screen_handler = None
113+
self.syslog_handler = None
113114
self.screen_formatter = None
114115
self.file_formatter = None
115116
self._log_handler_factory = None
@@ -250,6 +251,17 @@ def get_screen_handler(self):
250251
self.screen_handler.setFormatter(self.screen_formatter)
251252
return self.screen_handler
252253

254+
def get_syslog_handler(self):
255+
"""
256+
Get the one and only syslog handler
257+
"""
258+
if self.syslog_handler is None:
259+
self.syslog_handler = logging.handlers.SysLogHandler(address='/dev/log', facility='local1')
260+
261+
if self.file_formatter:
262+
self.syslog_handler.setFormatter(self.file_formatter)
263+
return self.syslog_handler
264+
253265
def set_log_format(self, log_format, *, log_style=None):
254266
"""
255267
Set up launch log file format.
@@ -275,6 +287,8 @@ def set_log_format(self, log_format, *, log_style=None):
275287
)
276288
for handler in self.file_handlers.values():
277289
handler.setFormatter(self.file_formatter)
290+
if self.syslog_handler:
291+
self.syslog_handler.setFormatter(self.file_formatter)
278292
else:
279293
self.file_formatter = None
280294

@@ -328,6 +342,10 @@ def get_logger(name=None) -> logging.Logger:
328342
launch_log_file_handler = launch_config.get_log_file_handler()
329343
if launch_log_file_handler not in logger.handlers:
330344
logger.addHandler(launch_log_file_handler)
345+
syslog_handler = launch_config.get_syslog_handler()
346+
if syslog_handler not in logger.handlers:
347+
logger.addHandler(syslog_handler)
348+
331349
return logger
332350

333351

0 commit comments

Comments
 (0)