Exemplo n.º 1
0
        public FileLogger(IQueuedLogWriter logWriter, string categoryName, FileLoggerOptions options)
        {
            Requires.NotNull(logWriter, nameof(logWriter));
            Requires.NotEmpty(categoryName, nameof(categoryName));
            Requires.NotNull(options, nameof(options));

            _logWriter    = logWriter;
            _categoryName = categoryName;
            _options      = options;
        }
        /// <summary>
        ///     Creates a new instance of the <see cref="FileLoggerProvider" />.
        /// </summary>
        /// <param name="options">A delegate specifying the options to be used for file logging.</param>
        public FileLoggerProvider(Action <FileLoggerOptions> options)
        {
            Requires.NotNull(options, nameof(options));

            var opts = new FileLoggerOptions
            {
                MinimumLogLevel  = LogLevel.Information,
                TimeStampFormat  = "yyyy-MM-dd HH:mm:ss",
                LogDirectory     = "Logs",
                LogExtension     = ".log",
                LogName          = "Log",
                TimeStampFactory = () => DateTimeOffset.UtcNow
            };

            options(opts);

            _options   = opts;
            _logWriter = new FileQueuedLogWriter(opts);
        }