From 3d4f5aa44fdf8d9d63e3053186cb7213646dfef6 Mon Sep 17 00:00:00 2001 From: Somebody Date: Fri, 2 Aug 2024 20:07:19 +0800 Subject: [PATCH] Enhancement: Better Logger --- Command/Command/CommandManager.cs | 2 +- Common/Util/Logger.cs | 28 +++++----------------------- 2 files changed, 6 insertions(+), 24 deletions(-) diff --git a/Command/Command/CommandManager.cs b/Command/Command/CommandManager.cs index ac5bb5b8..66e0c5be 100644 --- a/Command/Command/CommandManager.cs +++ b/Command/Command/CommandManager.cs @@ -113,7 +113,7 @@ public class CommandManager ReplaceInput(input, string.Empty); } } - else + else // known issue: Ctrl + (Any Key but C) or other control key will cause display error { input.Add(keyInfo.KeyChar); Console.Write(keyInfo.KeyChar); diff --git a/Common/Util/Logger.cs b/Common/Util/Logger.cs index 5df4bde2..ad32b031 100644 --- a/Common/Util/Logger.cs +++ b/Common/Util/Logger.cs @@ -1,4 +1,5 @@ -using System.Diagnostics; +using Spectre.Console; +using System.Diagnostics; namespace EggLink.DanhengServer.Util; @@ -12,28 +13,9 @@ public class Logger(string moduleName) { lock (_lock) { - Console.Write("["); - - Console.ForegroundColor = ConsoleColor.DarkCyan; - Console.Write(DateTime.Now.ToString("HH:mm:ss")); - Console.ResetColor(); - - Console.Write("] "); - Console.Write("["); - - Console.ForegroundColor = ConsoleColor.DarkGray; - Console.Write(ModuleName); - Console.ResetColor(); - - Console.Write("] "); - Console.Write("["); - - Console.ForegroundColor = (ConsoleColor)level; - Console.Write(level); - Console.ResetColor(); - - Console.WriteLine("] " + message); - + AnsiConsole.Write(new Markup($"[[[bold deepskyblue3_1]{DateTime.Now:HH:mm:ss}[/]]] " + + $"[[[gray]{ModuleName}[/]]] [[[{((ConsoleColor)level)}]{level}[/]]] {message.Replace("[", "[[").Replace("]", "]]")}\n")); + var logMessage = $"[{DateTime.Now:HH:mm:ss}] [{ModuleName}] [{level}] {message}"; PluginEventCommon.InvokeOnConsoleLog(logMessage); WriteToFile(logMessage);