//1 public static BackgroundLogger BackgroundLambdaLogger( this LoggingWizardCharms charms, Action <LogRecord> writeAction, Action <LogRecord[]> batchAction, ILogRecordVerifier recordVerifier ) { var baseLogger = new LambdaLogger(writeAction, batchAction) { RecordVerifier = recordVerifier }; return(charms.BackgroundLogger(baseLogger)); }
//1 public static BackgroundLogger BackgroundCompositeLogger( this LoggingWizardCharms charms, ILogRecordVerifier recordVerifier, bool leaveOpen, params ILogger[] loggers ) { var baseLogger = new CompositeLogger(loggers, leaveOpen) { RecordVerifier = recordVerifier }; return(charms.BackgroundLogger(baseLogger)); }
//2 public static ILogger BackgroundLoadFromJson( this LoggingWizardCharms charms, JToken loggingSection, IServiceProvider serviceProvider = null ) { var baseLogger = new LoggerJsonLoader { Injector = serviceProvider }.Load(loggingSection); var bgLogger = baseLogger as BackgroundLogger; return(bgLogger ?? charms.BackgroundLogger(baseLogger)); }
//1 public static BackgroundLogger BackgroundLoadFromJson( this LoggingWizardCharms charms, string filePath, string sectionPath, IServiceProvider serviceProvider = null ) { var baseLogger = new LoggerJsonLoader { Injector = serviceProvider }.Load(filePath, sectionPath); var bgLogger = baseLogger as BackgroundLogger; return(bgLogger ?? charms.BackgroundLogger(baseLogger)); }
//1 public static BackgroundLogger BackgroundFileLogger( this LoggingWizardCharms charms, string filePath, ILogRecordVerifier recordVerifier, IStringLogSerializer serializer = null, Encoding encoding = null, bool append = true ) { var baseLogger = new FileLogger(filePath, append) { Serializer = serializer, Encoding = encoding, RecordVerifier = recordVerifier }; return(charms.BackgroundLogger(baseLogger)); }
//7 public static BackgroundLogger BackgroundRollingFileLogger( this LoggingWizardCharms charms, IRollingFileProvider fileProvider, ILogRecordVerifier recordVerifier, IStringLogSerializer serializer = null, Encoding encoding = null, PipeCollection <RollingFileContext> pipes = null ) { var baseLogger = new RollingFileLogger(fileProvider) { RecordVerifier = recordVerifier }; baseLogger.Serializer = serializer ?? baseLogger.Serializer; baseLogger.Encoding = encoding ?? baseLogger.Encoding; baseLogger.Pipes = pipes ?? baseLogger.Pipes; return(charms.BackgroundLogger(baseLogger)); }