From e3c5eb6addf38fc3da487260fbe04bddf4f888e8 Mon Sep 17 00:00:00 2001 From: SpudGunMan Date: Thu, 2 Jan 2025 21:58:15 -0800 Subject: [PATCH] logLevel in Config sysloglevel = DEBUG in config.ini --- logs/README.md | 2 ++ modules/log.py | 11 ++++++++--- modules/settings.py | 2 +- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/logs/README.md b/logs/README.md index e18eccc..1520215 100644 --- a/logs/README.md +++ b/logs/README.md @@ -14,6 +14,8 @@ Logging messages to disk or 'Syslog' to disk uses the python native logging func LogMessagesToFile = False # Logging of system messages to file, needed for reporting engine SyslogToFile = True +# logging level for the bot (DEBUG, INFO, WARNING, ERROR, CRITICAL) +sysloglevel = DEBUG # Number of log files to keep in days, 0 to keep all log_backup_count = 32 ``` diff --git a/modules/log.py b/modules/log.py index f8174ec..9191907 100644 --- a/modules/log.py +++ b/modules/log.py @@ -3,6 +3,11 @@ from logging.handlers import TimedRotatingFileHandler import re from datetime import datetime from modules.settings import * +# if LOGGING_LEVEL is not set in settings.py, default to DEBUG +if not LOGGING_LEVEL: + LOGGING_LEVEL = "DEBUG" + +LOGGING_LEVEL = getattr(logging, LOGGING_LEVEL) class CustomFormatter(logging.Formatter): grey = '\x1b[38;21m' @@ -41,7 +46,7 @@ class plainFormatter(logging.Formatter): # Create logger logger = logging.getLogger("MeshBot System Logger") -logger.setLevel(logging.DEBUG) +logger.setLevel(LOGGING_LEVEL) logger.propagate = False msgLogger = logging.getLogger("MeshBot Messages Logger") @@ -56,7 +61,7 @@ today = datetime.now() # Create stdout handler for logging to the console stdout_handler = logging.StreamHandler() # Set level for stdout handler (logs DEBUG level and above) -stdout_handler.setLevel(logging.DEBUG) +stdout_handler.setLevel(LOGGING_LEVEL) # Set format for stdout handler stdout_handler.setFormatter(CustomFormatter(logFormat)) # Add handlers to the logger @@ -65,7 +70,7 @@ logger.addHandler(stdout_handler) if syslog_to_file: # Create file handler for logging to a file file_handler_sys = TimedRotatingFileHandler('logs/meshbot.log', when='midnight', backupCount=log_backup_count) - file_handler_sys.setLevel(logging.DEBUG) # DEBUG used by default for system logs to disk + file_handler_sys.setLevel(LOGGING_LEVEL) # DEBUG used by default for system logs to disk file_handler_sys.setFormatter(plainFormatter(logFormat)) logger.addHandler(file_handler_sys) diff --git a/modules/settings.py b/modules/settings.py index 034ae8c..73af4a7 100644 --- a/modules/settings.py +++ b/modules/settings.py @@ -117,6 +117,7 @@ try: log_messages_to_file = config['general'].getboolean('LogMessagesToFile', False) # default off log_backup_count = config['general'].getint('LogBackupCount', 32) # default 32 days syslog_to_file = config['general'].getboolean('SyslogToFile', True) # default on + LOGGING_LEVEL = config['general'].get('sysloglevel', 'DEBUG') # default DEBUG urlTimeoutSeconds = config['general'].getint('urlTimeout', 10) # default 10 seconds store_forward_enabled = config['general'].getboolean('StoreForward', True) storeFlimit = config['general'].getint('StoreLimit', 3) # default 3 messages for S&F @@ -136,7 +137,6 @@ try: llm_enabled = config['general'].getboolean('ollama', False) # https://ollama.com llmModel = config['general'].get('ollamaModel', 'gemma2:2b') # default gemma2:2b ollamaHostName = config['general'].get('ollamaHostName', 'http://localhost:11434') # default localhost - # emergency response emergency_responder_enabled = config['emergencyHandler'].getboolean('enabled', False) emergency_responder_alert_channel = config['emergencyHandler'].getint('alert_channel', 2) # default 2