Files
Shrink-IDC/Logger/LogManager.cs
2024-12-21 01:02:31 +08:00

28 lines
1015 B
C#

using Debugger;
namespace Shrink.Logger;
public class LogManager
{
private static readonly Lazy<LogManager> _instance = new(() => new LogManager());
public static LogManager Instance => _instance.Value;
public AbstractLogger LogChain { get; }
public bool IsSent;
public LogManager()
{
AbstractLogger fatalLogger = new FatalLogger(LogLevel.Fatal);
AbstractLogger errorLogger = new ErrorLogger(LogLevel.Error);
AbstractLogger warnLogger = new WarnLogger(LogLevel.Warn);
AbstractLogger infoLogger = new InfoLogger(LogLevel.Info);
AbstractLogger verboseLogger = new VerboseLogger(LogLevel.Verbose);
AbstractLogger debugLogger = new DebugLogger(LogLevel.Debug);
fatalLogger.SetNextLogger(errorLogger);
errorLogger.SetNextLogger(warnLogger);
warnLogger.SetNextLogger(infoLogger);
infoLogger.SetNextLogger(verboseLogger);
verboseLogger.SetNextLogger(debugLogger);
LogChain = fatalLogger;
}
}