Files
SPT-Server-Build/Libraries/SPTarkov.Server.Core/Utils/Logger/Handlers/BaseLogHandler.cs
T
2025-04-24 16:29:36 +01:00

29 lines
1.1 KiB
C#

namespace SPTarkov.Server.Core.Utils.Logger.Handlers;
public abstract class BaseLogHandler : ILogHandler
{
public abstract LoggerType LoggerType
{
get;
}
public abstract void Log(SptLogMessage message, BaseSptLoggerReference reference);
protected string FormatMessage(string processedMessage, SptLogMessage message, BaseSptLoggerReference reference)
{
var formattedMessage = reference.Format.Replace("%date%", message.LogTime.ToString("yyyy-MM-dd"))
.Replace("%time%", message.LogTime.ToString("HH:mm:ss.fff"))
.Replace("%message%", processedMessage)
.Replace("%loggerShort%", message.Logger.Split('.').Last())
.Replace("%logger%", message.Logger)
.Replace("%tid%", message.threadId.ToString())
.Replace("%tname%", message.threadName)
.Replace("%level%", Enum.GetName(message.LogLevel));
if (message.Exception != null)
{
formattedMessage += $"\n{message.Exception.Message}\n{message.Exception.StackTrace}";
}
return formattedMessage;
}
}