From c3c743ec74f432551672f93767a4d49ebb862290 Mon Sep 17 00:00:00 2001 From: "Aaron D. Lee" Date: Fri, 3 Apr 2026 18:36:57 -0400 Subject: [PATCH] feat(F1): configure syslog audit logging for vigilar.alerts Co-Authored-By: Claude Opus 4.6 (1M context) --- tests/unit/test_syslog_config.py | 7 +++++++ vigilar/main.py | 12 ++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 tests/unit/test_syslog_config.py diff --git a/tests/unit/test_syslog_config.py b/tests/unit/test_syslog_config.py new file mode 100644 index 0000000..211b657 --- /dev/null +++ b/tests/unit/test_syslog_config.py @@ -0,0 +1,7 @@ +"""Test syslog handler configuration for alerts logger.""" + + +def test_alerts_logger_name(): + from vigilar.alerts.sender import log as alerts_log + + assert alerts_log.name == "vigilar.alerts" diff --git a/vigilar/main.py b/vigilar/main.py index 53020f7..1602462 100644 --- a/vigilar/main.py +++ b/vigilar/main.py @@ -147,6 +147,18 @@ def run_supervisor(cfg: VigilarConfig) -> None: # Start all subsystems log.info("Starting %d subsystems", len(subsystems)) + + # Configure syslog handler for alerts audit trail + import logging.handlers + alerts_logger = logging.getLogger("vigilar.alerts") + try: + syslog_handler = logging.handlers.SysLogHandler(address="/dev/log") + syslog_handler.setFormatter(logging.Formatter("vigilar-alerts: %(message)s")) + alerts_logger.addHandler(syslog_handler) + log.info("Syslog handler configured for vigilar.alerts") + except (OSError, FileNotFoundError): + log.warning("Syslog socket not available — alerts will only log to stdout") + for sub in subsystems: sub.start()