DTLib/DTLib.Logging/LogFormats/DefaultLogFormat.cs
2022-11-17 18:27:43 +06:00

28 lines
1015 B
C#

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