Ejemplo n.º 1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="SerilogLoggerSettings"/> class.
        /// </summary>
        /// <param name="fileSystem">The file system.</param>
        /// <param name="defaultLogEventLevel">The default log event level.</param>
        /// <param name="loggingOutputFlags">The logging output flags.</param>
        /// <exception cref="ArgumentNullException">fileSystem</exception>
        /// <autogeneratedoc />
        public SerilogLoggerSettings(IFileSystem fileSystem, LogEventLevel defaultLogEventLevel,
                                     LoggingOutputFlags loggingOutputFlags)
        {
            _fileSystem        = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem));
            LoggingOutputFlags = loggingOutputFlags;
            Configuration      = DefaultLoggerSettingsConfiguration(defaultLogEventLevel);

            RegisterLogLevel(LoggingOutputFlags.Default, defaultLogEventLevel);


            if (loggingOutputFlags.HasFlag(LoggingOutputFlags.Console))
            {
                RegisterLogLevel(LoggingOutputFlags.Console, defaultLogEventLevel);
            }

            if (loggingOutputFlags.HasFlag(LoggingOutputFlags.AppInsights))
            {
                RegisterLogLevel(LoggingOutputFlags.AppInsights, LogEventLevel.Information);
            }

            if (loggingOutputFlags.HasFlag(LoggingOutputFlags.RollingFile))
            {
                RegisterLogLevel(LoggingOutputFlags.RollingFile, defaultLogEventLevel);
            }

            if (loggingOutputFlags.HasFlag(LoggingOutputFlags.TestCorrelator))
            {
                RegisterLogLevel(LoggingOutputFlags.TestCorrelator, defaultLogEventLevel);
            }

            if (loggingOutputFlags.HasFlag(LoggingOutputFlags.XUnitConsole))
            {
                RegisterLogLevel(LoggingOutputFlags.XUnitConsole, defaultLogEventLevel);
            }
        }