Always create and use MemoryLogger

This commit is contained in:
2023-05-21 02:10:32 +02:00
parent 554f6b4acc
commit fe52d2c3b5
2 changed files with 10 additions and 6 deletions

View File

@ -9,13 +9,12 @@ public class Logger : TextWriter
public enum LoggerType
{
FileLogger,
ConsoleLogger,
MemoryLogger
ConsoleLogger
}
private FileLogger? _fileLogger;
private FormattedConsoleLogger? _formattedConsoleLogger;
private MemoryLogger? _memoryLogger;
private MemoryLogger _memoryLogger;
private TextWriter? stdOut;
public Logger(LoggerType[] enabledLoggers, TextWriter? stdOut, Encoding? encoding, string? logFilePath)
@ -30,7 +29,7 @@ public class Logger : TextWriter
throw new ArgumentException($"logFilePath can not be null for LoggerType {LoggerType.FileLogger}");
}
_formattedConsoleLogger = enabledLoggers.Contains(LoggerType.ConsoleLogger) ? new FormattedConsoleLogger(null, encoding) : null;
_memoryLogger = enabledLoggers.Contains(LoggerType.MemoryLogger) ? new MemoryLogger(null, encoding) : null;
_memoryLogger = new MemoryLogger(null, encoding);
}
public void WriteLine(string caller, string? value)
@ -46,9 +45,14 @@ public class Logger : TextWriter
return;
_fileLogger?.Write(caller, value);
_memoryLogger?.Write(caller, value);
_formattedConsoleLogger?.Write(caller, value);
_memoryLogger.Write(caller, value);
stdOut?.Write(value);
}
public string[] Tail(uint? lines)
{
return _memoryLogger.Tail(lines);
}
}