zoukankan      html  css  js  c++  java
  • ASP.NET Core 禁止命令行打印日志

    CreateDefaultBuilder(args) 中默认添加了 ConsoleLoggerProvider,但是在某些场景如果不希望在命令行显示日志

    方法一,遍历所有 LoggerProvider ,找到并移除 ConsoleLoggerProvider

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureLogging((hostingContext, loggingBuilder)=>
            {
                // remove ConsoleLoggerProvider service in Production Environment
                if (hostingContext.HostingEnvironment.IsProduction())
                {
                    foreach (ServiceDescriptor serviceDescriptor in loggingBuilder.Services)
                    {
                        if (serviceDescriptor.ImplementationType == typeof(Microsoft.Extensions.Logging.Console.ConsoleLoggerProvider))
                        {
                            loggingBuilder.Services.Remove(serviceDescriptor);
                            break;
                        }
                    }
                }
            })
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>();
            });
     

    方法二,清空 CreateDefaultBuilder(args) 添加的所有 LoggerProvider,然后重新添加自己需要的 LoggerProvider

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureLogging((hostingContext, loggingBuilder) =>
            {
                // clear all previously registered providers
                loggingBuilder.ClearProviders();
                // now register providers you need
                loggingBuilder.AddDebug();
                loggingBuilder.AddEventSourceLogger();
                if (hostingContext.HostingEnvironment.IsDevelopment())
                {
                    loggingBuilder.AddConsole();
                }
            })
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>();
            });
     
  • 相关阅读:
    window下eclipse4.5+hadoop2.6.1开发环境配置
    sqoop1.4.6从mysql导入hdfshivehbase实例
    sqoop1.9.7安装和使用
    sqoop1.4.6导出oracle实例
    sqoop1.4.6配置安装
    java 操作hbase1.2
    hbase-1.2.5完全分布式部署
    hadoop2.6环境中部署hive1.2.2的错误
    hive 创建表和导入数据实例
    hive1.2.2部署
  • 原文地址:https://www.cnblogs.com/kevin860/p/14087485.html
Copyright © 2011-2022 走看看