mirror of
https://github.com/EpinelPS/EpinelPS.git
synced 2025-12-13 15:34:36 +01:00
62 lines
1.8 KiB
C#
62 lines
1.8 KiB
C#
using Swan.Logging;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace nksrv.Utils
|
|
{
|
|
public class GreatLogger : ILogger
|
|
{
|
|
public LogLevel LogLevel => LogLevel.Info;
|
|
|
|
public void Dispose()
|
|
{
|
|
|
|
}
|
|
|
|
public void Log(LogMessageReceivedEventArgs logEvent)
|
|
{
|
|
var fg = Console.ForegroundColor;
|
|
Console.ForegroundColor = GetColorForMsg(logEvent);
|
|
|
|
var msg = logEvent.Message;
|
|
if (msg.StartsWith("["))
|
|
{
|
|
msg = msg.Substring(msg.IndexOf("]") + 2);
|
|
}
|
|
Console.WriteLine(msg);
|
|
|
|
Console.ForegroundColor = fg;
|
|
}
|
|
|
|
private ConsoleColor GetColorForMsg(LogMessageReceivedEventArgs logEvent)
|
|
{
|
|
if (logEvent.Message.Contains("404 Not Found"))
|
|
return ConsoleColor.Red;
|
|
else if (logEvent.Message.Contains("200 OK"))
|
|
return ConsoleColor.DarkGreen;
|
|
switch (logEvent.MessageType)
|
|
{
|
|
case LogLevel.None:
|
|
return ConsoleColor.White;
|
|
case LogLevel.Trace:
|
|
return ConsoleColor.Gray;
|
|
case LogLevel.Debug:
|
|
return ConsoleColor.Gray;
|
|
case LogLevel.Info:
|
|
return ConsoleColor.Gray;
|
|
case LogLevel.Warning:
|
|
return ConsoleColor.Yellow;
|
|
case LogLevel.Error:
|
|
return ConsoleColor.Red;
|
|
case LogLevel.Fatal:
|
|
return ConsoleColor.Red;
|
|
default:
|
|
return ConsoleColor.White;
|
|
}
|
|
}
|
|
}
|
|
}
|