Add logging functionality with ILogger interface and implementations
This commit is contained in:
33
GameCore/Logging/CompositeLogger.cs
Normal file
33
GameCore/Logging/CompositeLogger.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using GameCore.Logging.Interfaces;
|
||||
|
||||
namespace GameCore.Logging;
|
||||
|
||||
public class CompositeLogger : ILogger
|
||||
{
|
||||
private readonly List<ILogger> _loggers = [];
|
||||
|
||||
public CompositeLogger(params ILogger[] loggers)
|
||||
{
|
||||
_loggers.AddRange(loggers);
|
||||
}
|
||||
|
||||
public void Debug(string message)
|
||||
{
|
||||
foreach (var logger in _loggers) logger.Debug(message);
|
||||
}
|
||||
|
||||
public void Info(string message)
|
||||
{
|
||||
foreach (var logger in _loggers) logger.Info(message);
|
||||
}
|
||||
|
||||
public void Warn(string message)
|
||||
{
|
||||
foreach (var logger in _loggers) logger.Warn(message);
|
||||
}
|
||||
|
||||
public void Error(string message, Exception ex = null)
|
||||
{
|
||||
foreach (var logger in _loggers) logger.Error(message, ex);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user