Files
BotPages/BotPages.Core/Logging/ConsoleLogger.cs
FrigaT d817417a69
All checks were successful
CI / build-test (push) Successful in 42s
Переработанная версия ядра
2025-12-05 12:57:05 +03:00

30 lines
749 B
C#

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);
}
}
}