Initial commit

This commit is contained in:
Max
2024-04-23 20:42:56 +02:00
parent 36c89e6048
commit 1785433a67
18 changed files with 627 additions and 50 deletions

View File

@@ -0,0 +1,97 @@
namespace DotBased.Logging;
public class Logger : ILogger
{
public Logger(string identifier, CallingAssemblyInfo asmInfo, ref Action<LogCapsule> logProcessorHandler)
{
Identifier = identifier;
CallingAsmInfo = asmInfo;
_processLog = logProcessorHandler;
}
public string Identifier { get; }
public CallingAssemblyInfo CallingAsmInfo { get; }
private readonly Action<LogCapsule> _processLog;
public void Log(LogCapsule capsule)
{
_processLog(capsule);
}
public void Trace(string message, params object?[]? parameters)
{
Log(new LogCapsule()
{
Logger = this,
Message = message,
Parameters = parameters,
Severity = LogSeverity.Trace,
TimeStamp = DateTime.Now
});
}
public void Debug(string message, params object?[]? parameters)
{
Log(new LogCapsule()
{
Logger = this,
Message = message,
Parameters = parameters,
Severity = LogSeverity.Debug,
TimeStamp = DateTime.Now
});
}
public void Information(string message, params object?[]? parameters)
{
Log(new LogCapsule()
{
Logger = this,
Message = message,
Parameters = parameters,
Severity = LogSeverity.Info,
TimeStamp = DateTime.Now
});
}
public void Warning(string message, params object?[]? parameters)
{
Log(new LogCapsule()
{
Logger = this,
Message = message,
Parameters = parameters,
Severity = LogSeverity.Warning,
TimeStamp = DateTime.Now
});
}
public void Error(Exception exception, string message, params object?[]? parameters)
{
Log(new LogCapsule()
{
Logger = this,
Message = message,
Parameters = parameters,
Severity = LogSeverity.Error,
TimeStamp = DateTime.Now,
Exception = exception
});
}
public void Fatal(Exception exception, string message, params object?[]? parameters)
{
Log(new LogCapsule()
{
Logger = this,
Message = message,
Parameters = parameters,
Severity = LogSeverity.Fatal,
TimeStamp = DateTime.Now,
Exception = exception
});
}
public override int GetHashCode() => HashCode.Combine(Identifier, CallingAsmInfo.AssemblyFullName);
}