diff --git a/core/sound.lua b/core/sound.lua index 5cf4c5cf..a246ee00 100644 --- a/core/sound.lua +++ b/core/sound.lua @@ -10,7 +10,7 @@ function register_sound(name, path, filename) s.original_volume = 0.75 s.sound_code = name - sendDebugMessage("Registered sound " .. name .. " from file " .. filename) + sendDebugMessage("Registered sound " .. name .. " from file " .. filename) SMODS.SOUND_SOURCES[name] = s end diff --git a/core/sprite.lua b/core/sprite.lua index b1fdefb0..6f131386 100644 --- a/core/sprite.lua +++ b/core/sprite.lua @@ -101,8 +101,8 @@ function SMODS.injectSprites() else error("Bad Sprite type") end - - sendDebugMessage("The Sprite named " .. sprite.name .. " with path " .. sprite.path .. " have been registered.") + + sendDebugMessage("The Sprite named " .. sprite.name .. " with path " .. sprite.path .. " have been registered.") end --Reload Textures diff --git a/debug/debug.lua b/debug/debug.lua index fded68c1..19122b48 100644 --- a/debug/debug.lua +++ b/debug/debug.lua @@ -2,23 +2,54 @@ ------------MOD DEBUG SOCKET------------------ function initializeSocketConnection() - local socket = require("socket") - client = socket.connect("localhost", 12345) - if not client then - print("Failed to connect to the debug server") - end + local socket = require("socket") + client = socket.connect("localhost", 12345) + if not client then + print("Failed to connect to the debug server") + end end -function sendDebugMessage(message) - if client then - client:send(message .. "\n") - end +-- message, logger in this order to preserve backward compatibility +function sendTraceMessage(message, logger) + sendMessageToConsole("TRACE", logger, message) +end + +function sendDebugMessage(message, logger) + sendMessageToConsole("DEBUG", logger, message) +end + +function sendInfoMessage(message, logger) + -- space in info string to align the logs in console + sendMessageToConsole("INFO ", logger, message) +end + +function sendWarnMessage(message, logger) + -- space in warn string to align the logs in console + sendMessageToConsole("WARN ", logger, message) +end + +function sendErrorMessage(message, logger) + sendMessageToConsole("ERROR", logger, message) +end + +function sendFatalMessage(message, logger) + sendMessageToConsole("FATAL", logger, message) +end + +function sendMessageToConsole(level, logger, message) + if client then + level = level or "DEBUG" + logger = logger or "DefaultLogger" + message = message or "Default log message" + -- naive way to separate the logs if the console receive multiple logs at the same time + client:send(level .. " :: " .. logger .. " :: " .. message .. "ENDOFLOG") + end end initializeSocketConnection() -- Use the function to send messages -sendDebugMessage("Steamodded Debug Socket started !") +sendDebugMessage("Steamodded Debug Socket started !", "DebugConsole") ---------------------------------------------- ------------MOD DEBUG SOCKET END-------------- diff --git a/debug/tk_debug_window.py b/debug/tk_debug_window.py index af5493ed..9197e72c 100644 --- a/debug/tk_debug_window.py +++ b/debug/tk_debug_window.py @@ -1,6 +1,7 @@ import tkinter as tk import socket import threading +from datetime import datetime def client_handler(client_socket): @@ -8,8 +9,13 @@ def client_handler(client_socket): data = client_socket.recv(1024) if not data: break - text_widget.insert(tk.END, data.decode() + '\n') - text_widget.see(tk.END) + + decoded_data = data.decode() + logs = decoded_data.split("ENDOFLOG") + for log in logs: + if log: + text_widget.insert(tk.END, datetime.now().strftime("%Y-%m-%d %H:%M:%S") + " :: " + log + '\n') + text_widget.see(tk.END) def listen_for_clients(): @@ -21,7 +27,7 @@ def listen_for_clients(): threading.Thread(target=client_handler, args=(client,)).start() -def on_search_entry_change(varName, index, mode): +def on_search_entry_change(var_name, index, mode): global search_after_id if search_after_id: root.after_cancel(search_after_id)