From f68f7f10caa21e32b0034a51c62304aade85897a Mon Sep 17 00:00:00 2001 From: Kelly Date: Sat, 18 Apr 2026 15:30:17 -0700 Subject: [PATCH] logger logger enhance https://github.com/SpudGunMan/meshing-around/issues/308 --- mesh_bot.py | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/mesh_bot.py b/mesh_bot.py index 8387f1a..3b634c9 100755 --- a/mesh_bot.py +++ b/mesh_bot.py @@ -1976,6 +1976,7 @@ def onReceive(packet, interface): if 'decoded' in packet and packet['decoded']['portnum'] == 'TEXT_MESSAGE_APP': message_bytes = packet['decoded']['payload'] message_string = message_bytes.decode('utf-8') + message_log_string = message_string.replace('\r', ' ').replace('\n', ' ') via_mqtt = packet['decoded'].get('viaMqtt', False) transport_mechanism = ( packet.get('transport_mechanism') @@ -2072,7 +2073,7 @@ def onReceive(packet, interface): # check if the message contains a trap word, DMs are always responded to if (messageTrap(message_string) and not llm_enabled) or messageTrap(message_string.split()[0]): # log the message to stdout - logger.info(f"Device:{rxNode} Channel: {channel_number} " + CustomFormatter.green + f"Received DM: " + CustomFormatter.white + f"{message_string} " + CustomFormatter.purple +\ + logger.info(f"Device:{rxNode} Channel: {channel_number} " + CustomFormatter.green + f"Received DM: " + CustomFormatter.white + f"{message_log_string} " + CustomFormatter.purple +\ "From: " + CustomFormatter.white + f"{get_name_from_number(message_from_id, 'long', rxNode)}") # respond with DM send_message(auto_response(message_string, snr, rssi, hop, pkiStatus, message_from_id, channel_number, rxNode, isDM), channel_number, message_from_id, rxNode) @@ -2082,7 +2083,7 @@ def onReceive(packet, interface): playingGame = checkPlayingGame(message_from_id, message_string, rxNode, channel_number) elif hop_count >= my_settings.game_hop_limit: if games_enabled: - logger.warning(f"Device:{rxNode} Ignoring Request to Play Game: {message_string} From: {get_name_from_number(message_from_id, 'long', rxNode)} with hop count: {hop}") + logger.warning(f"Device:{rxNode} Ignoring Request to Play Game: {message_log_string} From: {get_name_from_number(message_from_id, 'long', rxNode)} with hop count: {hop}") send_message(f"Your hop count exceeds safe playable distance at {hop_count} hops", channel_number, message_from_id, rxNode) else: playingGame = False @@ -2096,7 +2097,7 @@ def onReceive(packet, interface): send_message(llm, channel_number, message_from_id, rxNode) else: # respond with welcome message on DM - logger.warning(f"Device:{rxNode} Ignoring DM: {message_string} From: {get_name_from_number(message_from_id, 'long', rxNode)}") + logger.warning(f"Device:{rxNode} Ignoring DM: {message_log_string} From: {get_name_from_number(message_from_id, 'long', rxNode)}") # if seenNodes list is not marked as welcomed send welcome message if not any(node['nodeID'] == message_from_id and node['welcome'] == True for node in seenNodes): @@ -2122,22 +2123,22 @@ def onReceive(packet, interface): # log the message to the message log if log_messages_to_file: - msgLogger.info(f"Device:{rxNode} Channel:{channel_number} | {get_name_from_number(message_from_id, 'long', rxNode)} | DM | " + message_string.replace('\n', '-nl-')) + msgLogger.info(f"Device:{rxNode} Channel:{channel_number} | {get_name_from_number(message_from_id, 'long', rxNode)} | DM | " + message_log_string) else: # message is on a channel if messageTrap(message_string): # message is for us to respond to, or is it... if my_settings.ignoreDefaultChannel and channel_number == my_settings.publicChannel: - logger.debug(f"System: Ignoring CMD:{message_string} From: {get_name_from_number(message_from_id, 'short', rxNode)} Default Channel:{channel_number}") + logger.debug(f"System: Ignoring CMD:{message_log_string} From: {get_name_from_number(message_from_id, 'short', rxNode)} Default Channel:{channel_number}") elif str(message_from_id) in my_settings.bbs_ban_list: - logger.debug(f"System: Ignoring CMD:{message_string} From: {get_name_from_number(message_from_id, 'short', rxNode)} Cantankerous Node") + logger.debug(f"System: Ignoring CMD:{message_log_string} From: {get_name_from_number(message_from_id, 'short', rxNode)} Cantankerous Node") elif str(channel_number) in my_settings.ignoreChannels: - logger.debug(f"System: Ignoring CMD:{message_string} From: {get_name_from_number(message_from_id, 'short', rxNode)} Ignored Channel:{channel_number}") + logger.debug(f"System: Ignoring CMD:{message_log_string} From: {get_name_from_number(message_from_id, 'short', rxNode)} Ignored Channel:{channel_number}") elif my_settings.cmdBang and not message_string.startswith("!"): - logger.debug(f"System: Ignoring CMD:{message_string} From: {get_name_from_number(message_from_id, 'short', rxNode)} Didnt sound like they meant it") + logger.debug(f"System: Ignoring CMD:{message_log_string} From: {get_name_from_number(message_from_id, 'short', rxNode)} Didnt sound like they meant it") else: # message is for bot to respond to, seriously this time.. - logger.info(f"Device:{rxNode} Channel:{channel_number} " + CustomFormatter.green + "ReceivedChannel: " + CustomFormatter.white + f"{message_string} " + CustomFormatter.purple +\ + logger.info(f"Device:{rxNode} Channel:{channel_number} " + CustomFormatter.green + "ReceivedChannel: " + CustomFormatter.white + f"{message_log_string} " + CustomFormatter.purple +\ "From: " + CustomFormatter.white + f"{get_name_from_number(message_from_id, 'long', rxNode)}") if my_settings.useDMForResponse: # respond to channel message via direct message @@ -2172,9 +2173,9 @@ def onReceive(packet, interface): # print the message to the log and sdout logger.info(f"Device:{rxNode} Channel:{channel_number} " + CustomFormatter.green + "Ignoring Message:" + CustomFormatter.white +\ - f" {message_string} " + CustomFormatter.purple + "From:" + CustomFormatter.white + f" {get_name_from_number(message_from_id)}") + f" {message_log_string} " + CustomFormatter.purple + "From:" + CustomFormatter.white + f" {get_name_from_number(message_from_id)}") if my_settings.log_messages_to_file: - msgLogger.info(f"Device:{rxNode} Channel:{channel_number} | {get_name_from_number(message_from_id, 'long', rxNode)} | " + message_string.replace('\n', '-nl-')) + msgLogger.info(f"Device:{rxNode} Channel:{channel_number} | {get_name_from_number(message_from_id, 'long', rxNode)} | " + message_log_string) # repeat the message on the other device if my_settings.repeater_enabled and my_settings.multiple_interface: