private FileInformation GetTodayLastFileOrCreateNew(IRollingFileProvider fileNameProvider)
        {
            var file = fileNameProvider.TryResolveLastFile();

            if (file == null ||
                !file.Exists ||
                file.CreationTime.Date != Clock.Today)
            {
                file = fileNameProvider.ProduceNewFile();
            }

            return(file);
        }
 //12
 public static BackgroundLogger BackgroundRollingFileLogger(
     this LoggingWizardCharms charms,
     IRollingFileProvider fileProvider,
     Action <StringLogSerializerBuilder> serializerApply,
     Encoding encoding = null,
     PipeCollection <RollingFileContext> pipes = null
     )
 {
     return(BackgroundRollingFileLogger(
                charms,
                fileProvider,
                new MinimumLogLevelVerifier(LogLevel.Debug),
                serializerApply,
                encoding,
                pipes
                ));
 }
Exemplo n.º 3
0
 //9
 public static RollingFileLogger RollingFileLogger(
     this LoggingWizardCharms charms,
     IRollingFileProvider fileProvider,
     IStringLogSerializer serializer = null,
     Encoding encoding = null,
     PipeCollection <RollingFileContext> pipes = null
     )
 {
     return(RollingFileLogger(
                charms,
                fileProvider,
                new MinimumLogLevelVerifier(LogLevel.Debug),
                serializer,
                encoding,
                pipes
                ));
 }
 //8
 public static BackgroundLogger BackgroundRollingFileLogger(
     this LoggingWizardCharms charms,
     IRollingFileProvider fileProvider,
     LogLevel minLevel,
     IStringLogSerializer serializer = null,
     Encoding encoding = null,
     PipeCollection <RollingFileContext> pipes = null
     )
 {
     return(BackgroundRollingFileLogger(
                charms,
                fileProvider,
                new MinimumLogLevelVerifier(minLevel),
                serializer,
                encoding,
                pipes
                ));
 }
        //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));
        }
Exemplo n.º 6
0
        //7
        public static RollingFileLogger RollingFileLogger(
            this LoggingWizardCharms charms,
            IRollingFileProvider fileProvider,
            ILogRecordVerifier recordVerifier,
            IStringLogSerializer serializer = null,
            Encoding encoding = null,
            PipeCollection <RollingFileContext> pipes = null
            )
        {
            var logger = new RollingFileLogger(fileProvider)
            {
                RecordVerifier = recordVerifier
            };

            logger.Serializer = serializer ?? logger.Serializer;
            logger.Encoding   = encoding ?? logger.Encoding;
            logger.Pipes      = pipes ?? logger.Pipes;

            return(logger);
        }
        //10
        public static BackgroundLogger BackgroundRollingFileLogger(
            this LoggingWizardCharms charms,
            IRollingFileProvider fileProvider,
            ILogRecordVerifier recordVerifier,
            Action <StringLogSerializerBuilder> serializerApply,
            Encoding encoding = null,
            PipeCollection <RollingFileContext> pipes = null
            )
        {
            var serializerBuilder = new StringLogSerializerBuilder();

            serializerApply?.Invoke(serializerBuilder);

            var serializer = serializerBuilder.BuildSerializer();

            return(BackgroundRollingFileLogger(
                       charms,
                       fileProvider,
                       recordVerifier,
                       serializer,
                       encoding,
                       pipes
                       ));
        }