Files
2025-12-19 15:58:45 -07:00

53 lines
1.3 KiB
C#

namespace Repackinator.Core.Logging
{
public enum LogMessageLevel
{
None,
Info,
Completed,
Skipped,
Warning,
NotFound,
Error,
Done
}
public class LogMessage
{
public DateTime Time { get; set; }
public string LogLevel => Level switch
{
LogMessageLevel.None => "None",
LogMessageLevel.Info => "Info",
LogMessageLevel.Completed => "Completed",
LogMessageLevel.Skipped => "Skipped",
LogMessageLevel.Warning => "Warning",
LogMessageLevel.NotFound => "NotFound",
LogMessageLevel.Error => "Error",
LogMessageLevel.Done => "Done",
_ => $"UNKNOWN({Level.ToString()})"
};
public LogMessageLevel Level { get; set; }
public string Message { get; set; } = string.Empty;
public string ToLogFormat(string timeFormat = "HH:mm:ss")
{
if (Level == LogMessageLevel.None)
{
return "\n";
}
return $"{Time.ToString(timeFormat)} {LogLevel} - {Message}\n";
}
public LogMessage(LogMessageLevel level, string message)
{
Time = DateTime.Now;
Level = level;
Message = message;
}
}
}