diff --git a/.changelogs/1.1.1/185-logging-handler-for-no-systemd-integration.yml b/.changelogs/1.1.1/185-logging-handler-for-no-systemd-integration.yml new file mode 100644 index 0000000..cfcda5b --- /dev/null +++ b/.changelogs/1.1.1/185-logging-handler-for-no-systemd-integration.yml @@ -0,0 +1,2 @@ +fix: + - add handler to log messages with severity less than info to the screen when there is no systemd integration, for instance, inside a docker container. [#185] \ No newline at end of file diff --git a/proxlb/utils/logger.py b/proxlb/utils/logger.py index 57ed0e2..c0b7db4 100644 --- a/proxlb/utils/logger.py +++ b/proxlb/utils/logger.py @@ -9,6 +9,7 @@ __license__ = "GPL-3.0" import logging +import sys try: from systemd.journal import JournalHandler SYSTEMD_PRESENT = True @@ -93,6 +94,15 @@ class SystemdLogger: journal_handler.setFormatter(formatter) # Add handler to logger self.logger.addHandler(journal_handler) + else: + # Add a handler for no systemd integration + handler = logging.StreamHandler(sys.stdout) + handler.setLevel(level) + # Set a formatter to include the logger's name and log message + formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') + handler.setFormatter(formatter) + # Add handler to logger + self.logger.addHandler(handler) def set_log_level(self, level: str) -> None: """