Files
RemSox/Logging/ProxyLogger.cs
T
2026-06-10 00:29:28 +02:00

32 lines
752 B
C#

namespace RemSox.Logging;
public class ProxyLogger(IEnumerable<ILogger> loggers) : ILogger
{
public void Log(string message, LogSeverity severity)
{
foreach (ILogger logger in loggers)
{
logger.Log(message, severity);
}
}
public void LogError(string message)
{
Log(message, LogSeverity.Error);
}
public void LogInfo(string message)
{
Log(message, LogSeverity.Info);
}
public void LogWarning(string message)
{
Log(message, LogSeverity.Warning);
}
public IEnumerable<LogEntry> GetLogs(int? count = null)
{
return loggers.SelectMany(logger => logger.GetLogs(count / loggers.Count())).OrderBy(entry => entry.Timestamp);
}
}