コード例 #1
0
        public RollingFileWriter(string name, LogRollingFileOptions options)
        {
            this.name        = name;
            this.options     = options;
            fileDeletePolicy = Policy
                               .Handle <Exception>()
                               .WaitAndRetry(retryDelays, (ex, timespan, cnt, ctx) =>
            {
                Console.WriteLine($"Retrying LogFile Delete {cnt}/{retryDelays.Length}", Color.PaleVioletRed);
            });
            fileMovePolicy = Policy
                             .Handle <Exception>()
                             .WaitAndRetry(retryDelays, (ex, timespan, cnt, ctx) =>
            {
                Console.WriteLine($"Retrying LogFile Move {cnt}/{retryDelays.Length}", Color.PaleVioletRed);
            });
            Directory.CreateDirectory(options.Path);
            Directory.CreateDirectory(options.ArchivePath);

            if (File.Exists(ActiveLogFilename) && options.NewLogOnRestart)
            {
                ArchiveActiveLog();
            }

            AcquireStream(!options.NewLogOnRestart);
        }
コード例 #2
0
        public RollingFileWriter(string name, LogRollingFileOptions options)
        {
            this.name    = name;
            this.options = options;

            Directory.CreateDirectory(options.Path);
            Directory.CreateDirectory(options.ArchivePath);

            if (File.Exists(ActiveLogFilename) && options.NewLogOnRestart)
            {
                ArchiveActiveLog();
            }
            else
            {
                AcquireStream(!options.NewLogOnRestart);
            }
        }
コード例 #3
0
 public LogRollingFile(string name, LogRollingFileOptions options = null, LogOptions baseOptions = null) : base(baseOptions)
 {
     writer = new RollingFileWriter(name, options ?? new LogRollingFileOptions());
 }