DTLib/DTLib/Logging/LogFormats/DefaultLogFormat.cs
2024-11-03 21:44:03 +05:00

26 lines
1.0 KiB
C#

namespace DTLib.Logging;
public class DefaultLogFormat : ILogFormat
{
public bool PrintTimeStamp { get; set; } = true;
public bool PrintContext { get; set; } = true;
public bool PrintSeverity { get; set; } = true;
public string TimeStampFormat { get; set; } = MyTimeFormat.ForText;
public string CreateMessage(string context, LogSeverity severity, object message)
{
var sb = new StringBuilder();
if (PrintTimeStamp)
sb.Append('[').Append(DateTime.Now.ToString(TimeStampFormat)).Append(']');
if (PrintContext && PrintSeverity)
sb.Append('[').Append(context).Append('/').Append(severity.ToString()).Append(']');
else if(PrintContext)
sb.Append('[').Append(context).Append(']');
else if(PrintSeverity)
sb.Append('[').Append(severity.ToString()).Append(']');
if (sb.Length != 0)
sb.Append(": ");
sb.Append(message);
return sb.ToString();
}
}