mirror of
https://github.com/netchx/netch.git
synced 2026-03-14 17:43:18 +08:00
52 lines
1.2 KiB
C#
52 lines
1.2 KiB
C#
using System;
|
|
using Netch.Interfaces;
|
|
|
|
namespace Netch.Models.Loggers
|
|
{
|
|
public class ConsoleLogger : ILogger
|
|
{
|
|
public void Info(string text)
|
|
{
|
|
Write(text, LogLevel.INFO);
|
|
}
|
|
|
|
public void Warning(string text)
|
|
{
|
|
Write(text, LogLevel.WARNING);
|
|
}
|
|
|
|
public void Error(string text)
|
|
{
|
|
Write(text, LogLevel.ERROR);
|
|
}
|
|
|
|
private void Write(string text, LogLevel logLevel)
|
|
{
|
|
var contents = $@"[{DateTime.Now}][{logLevel.ToString()}] {text}{Constants.EOF}";
|
|
switch (logLevel)
|
|
{
|
|
case LogLevel.DEBUG:
|
|
case LogLevel.INFO:
|
|
case LogLevel.WARNING:
|
|
Console.Write(contents);
|
|
break;
|
|
case LogLevel.ERROR:
|
|
Console.Error.Write(contents);
|
|
break;
|
|
default:
|
|
throw new ArgumentOutOfRangeException(nameof(logLevel), logLevel, null);
|
|
}
|
|
}
|
|
|
|
public void Debug(string s)
|
|
{
|
|
#if DEBUG
|
|
Write(s, LogLevel.DEBUG);
|
|
#endif
|
|
}
|
|
|
|
public void ShowLog()
|
|
{
|
|
}
|
|
}
|
|
} |