diff --git a/config.template b/config.template index 1301a84..e3d6e9b 100644 --- a/config.template +++ b/config.template @@ -43,6 +43,8 @@ zuluTime = False urlTimeout = 10 # logging to file of the non Bot messages LogMessagesToFile = False +# Logging of system messages to file +SyslogToFile = False [sentry] diff --git a/mesh_bot.py b/mesh_bot.py index f1a8319..ca537f6 100755 --- a/mesh_bot.py +++ b/mesh_bot.py @@ -371,6 +371,8 @@ async def start_rx(): f"{get_name_from_number(myNodeNum2, 'short', 2)}. NodeID: {myNodeNum2}, {decimal_to_hex(myNodeNum2)}") if log_messages_to_file: logger.debug(f"System: Logging Messages to disk") + if syslog_to_file: + logger.debug(f"System: Logging System Logs to disk") if bbs_enabled: logger.debug(f"System: BBS Enabled, {bbsdb} has {len(bbs_messages)} messages. Direct Mail Messages waiting: {(len(bbs_dm) - 1)}") if solar_conditions_enabled: diff --git a/modules/log.py b/modules/log.py index d257921..5e4d632 100644 --- a/modules/log.py +++ b/modules/log.py @@ -57,6 +57,12 @@ stdout_handler.setFormatter(CustomFormatter(logFormat)) # Add handlers to the logger logger.addHandler(stdout_handler) +if syslog_to_file: + # Create file handler for logging to a file + file_handler = logging.FileHandler('system{}.log'.format(today.strftime('%Y_%m_%d'))) + file_handler.setLevel(logging.DEBUG) # DEBUG used for system logs + file_handler.setFormatter(logging.Formatter(logFormat)) + logger.addHandler(file_handler) if log_messages_to_file: # Create file handler for logging to a file diff --git a/modules/settings.py b/modules/settings.py index 4db0a52..c456f6e 100644 --- a/modules/settings.py +++ b/modules/settings.py @@ -84,6 +84,7 @@ try: publicChannel = config['general'].getint('defaultChannel', 0) # the meshtastic public channel zuluTime = config['general'].getboolean('zuluTime', False) # aka 24 hour time log_messages_to_file = config['general'].getboolean('LogMessagesToFile', True) # default True + syslog_to_file = config['general'].getboolean('SyslogToFile', False) # default True urlTimeoutSeconds = config['general'].getint('urlTimeout', 10) # default 10 seconds store_forward_enabled = config['general'].getboolean('StoreForward', True) # default False storeFlimit = config['general'].getint('StoreLimit', 3) # default 3 messages for S&F