This commit is contained in:
30
BotPages.Core/Logging/ConsoleLogger.cs
Normal file
30
BotPages.Core/Logging/ConsoleLogger.cs
Normal file
@@ -0,0 +1,30 @@
|
||||
namespace BotPages.Core.Logging;
|
||||
|
||||
/// <summary>
|
||||
/// Вывод лога в консоль.
|
||||
/// </summary>
|
||||
public sealed class ConsoleLogger : ILogger
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public void Log(LogLevel level, string message, Exception? ex = null)
|
||||
{
|
||||
var prefix = level switch
|
||||
{
|
||||
LogLevel.Info => "[INFO] ",
|
||||
LogLevel.Warn => "[WARN] ",
|
||||
LogLevel.Critical => "[CRIT] ",
|
||||
_ => "[LOG] "
|
||||
};
|
||||
|
||||
string text = $"{DateTime.UtcNow:O} {prefix}{message}{(ex is null ? "" : $" :: {ex.Message}")}";
|
||||
|
||||
if (level == LogLevel.Critical)
|
||||
{
|
||||
Console.Error.WriteLine(text);
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine(text);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user