Files
SPT-Server-Build/Libraries/SPTarkov.Server.Core/Utils/Logger/Handlers/BaseLogHandler.cs
T
2025-06-18 17:09:20 +00:00

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