/// <summary>
        /// "Microsoft"と"System"のログ出力レベルを設定する。
        /// </summary>
        /// <param name="loggerMinimum"></param>
        /// <param name="source">設定対象 ("Microsoft"または"System"</param>
        /// <param name="minLevel">ログ出力レベル
        /// <para>nullまたは解釈できない不正な文字列が指定された場合、デフォルトで"Warning"レベルに設定します。
        /// </param>
        /// <returns>LoggerConfiguration</returns>
        public static LoggerConfiguration OverrideWith(this LoggerMinimumLevelConfiguration loggerMinimum, string source, string minLevel)
        {
            LogEventLevel level;

            if (string.IsNullOrEmpty(minLevel) || !Enum.TryParse(minLevel, true, out level))
            {
                level = LogEventLevel.Warning;
            }

            return(loggerMinimum.Override(source, level));
        }
        /// <summary>
        /// Sets minimum level for the logger.
        /// </summary>
        /// <param name="loggerMinimum"></param>
        /// <param name="minLevel">ログ出力レベル。
        /// <para>nullまたは不正な文字列が指定された場合、デフォルトで"Information"レベルに設定されます。</param>
        /// <returns>LoggerConfiguration</returns>
        public static LoggerConfiguration DefaultTo(this LoggerMinimumLevelConfiguration loggerMinimum, string minLevel)
        {
            LogEventLevel level;

            if (!string.IsNullOrEmpty(minLevel) && Enum.TryParse(minLevel, true, out level))
            {
                return(loggerMinimum.Is(level));
            }
            else
            {
                return(loggerMinimum.Information());
            }
        }
예제 #3
0
 public static LoggerConfiguration FromString(this LoggerMinimumLevelConfiguration minimumLevel, string?logLevel)
 {
     return(logLevel?.ToLowerInvariant() switch
     {
         "fatal" => minimumLevel.Fatal(),
         "error" => minimumLevel.Error(),
         "warning" => minimumLevel.Warning(),
         "information" => minimumLevel.Information(),
         "debug" => minimumLevel.Debug(),
         "verbose" => minimumLevel.Verbose(),
         null => minimumLevel.Information(),
         _ => throw new ArgumentException("Unknown log level", nameof(logLevel))
     });