private static void AddSinks(LoggerConfiguration config, TitanOptions options, string contentRootPath)
 {
     config
     .ConfigureConsole(options)
     .ConfigureFile(options.File, contentRootPath)
     .ConfigureLoki(options.Loki, options.DynamicDefaultLevel)
     .ConfigureGrayLog(options.Graylog, options.DynamicDefaultLevel);
 }
 internal static LoggerConfiguration BuildDefaultConfig(LoggerConfiguration config,
                                                        TitanOptions options, ApplicationOptions appOptions, string contentRootPath)
 {
     ConfigureMinimumLevels(config, options);
     ConfigureEnrich(config, appOptions);
     AddSinks(config, options, contentRootPath);
     return(config);
 }
 public static IHostBuilder UseTitan(this IHostBuilder hostBuilder)
 {
     return(hostBuilder.UseSerilog((context, config) =>
     {
         ApplicationOptions appOptions = context.Configuration.GetApplicationOptions();
         TitanOptions options = GetOptions(context.Configuration);
         LoggingDefaultConfig.BuildDefaultConfig(config, options, appOptions, AppDomain.CurrentDomain.BaseDirectory);
     }));
 }
        private static void ConfigureMinimumLevels(LoggerConfiguration config, TitanOptions options)
        {
            if (options.DynamicDefaultLevel)
            {
                config.MinimumLevel.ControlledBy(new LoggingLevelSwitch(TitanLibHelper.GetLogLevel(options.DefaultLevel)));
            }
            else
            {
                config.MinimumLevel.Is(TitanLibHelper.GetLogLevel(options.DefaultLevel));
            }

            config
            .MinimumLevel.Override("System", TitanLibHelper.GetLogLevel(options.Overrides.System))
            .MinimumLevel.Override("Microsoft", TitanLibHelper.GetLogLevel(options.Overrides.Microsoft))
            .MinimumLevel.Override("Microsoft.AspNetCore", TitanLibHelper.GetLogLevel(options.Overrides.AspNetCore))
            .MinimumLevel.Override("Microsoft.Hosting.Lifetime", TitanLibHelper.GetLogLevel(options.Overrides.MicrosoftHostingLifetime));

            foreach (string[] item in options.Overrides.Custom.Select(s => s.Split(":")))
            {
                config.MinimumLevel.Override(item[0], TitanLibHelper.GetLogLevel(item[1]));
            }
        }
示例#5
0
        internal static LoggerConfiguration ConfigureConsole(this LoggerConfiguration configuration, TitanOptions options)
        {
            if (options.Console is null || options.Console.Enabled is false)
            {
                return(configuration);
            }

            configuration.WriteTo.Console(outputTemplate: options.Console.OutputTemplate,
                                          theme: options.Console.GetConsoleTheme());

            return(configuration);
        }