namespace Logger; /// /// Factory for creating logger instances /// public static class LoggerFactory { /// /// Create a logger that writes to console and file /// public static ILogger CreateCompositeLogger( LogLevel consoleLevel = LogLevel.Trace, FileLoggerOptions? fileOptions = null) { var consoleLogger = new ConsoleLogger(consoleLevel); var fileLogger = new FileLogger(fileOptions ?? new FileLoggerOptions()); return new CompositeLogger(consoleLogger, fileLogger); } /// /// Create a console-only logger /// public static ILogger CreateConsoleLogger(LogLevel minimumLevel = LogLevel.Trace) { return new ConsoleLogger(minimumLevel); } /// /// Create a file-only logger /// public static ILogger CreateFileLogger(FileLoggerOptions? options = null) { return new FileLogger(options ?? new FileLoggerOptions()); } }