ASP.NET Core 2.0 日志配置

ASP.NET Core 2.0的日志系统做了break change的升级。.NET Core 2.0日志配置的改变主要体现在三点:

  • 使用新的方法AddLogging和Builder API配置services
  • 允许在Program.cs使用WebHostBuilder配置日志 
  • ASP.NET Core 2.0模板里的WebHost提供了默认配置 

使用新的方法AddLogging和Builder API配置services

在1.x版本里配置日志需要在Startup.cs里使用Configure来配置,2.0则使用了services新的方法AddLogging和Builder API来配置services,如:

services.AddLogging(builder => builder
                .AddConsole()
                .AddDebug();

允许在Program.cs使用WebHostBuilder配置日志 

1.x是在Startup.cs里配置日志,2.0则允许在Program.cs使用WebHostBuilder配置日志。这样做的好处是可以让Startup.cs聚焦于services的配置和中间件的pipeline。

var builder = new WebHostBuilder()
                .UseKestrel()
                .UseContentRoot(Directory.GetCurrentDirectory())
                .ConfigureAppConfiguration((hostingContext, config) =>
                {
                    var env = hostingContext.HostingEnvironment;
                    config.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
                          .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: true);
                    config.AddEnvironmentVariables();
                })
                .ConfigureLogging((hostingContext, logging) =>
                {
                    logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging"));
                    logging.AddConsole();
                    logging.AddDebug();
                });

ASP.NET Core 2.0模板里的WebHost提供了默认配置

WebHost会类似上面的例子配置日志。如果指向使用Console和Debug的日志,就不需要添加额外的代码,如:

WebHost.CreateDefaultBuilder(args)
    .UseStartup<Startup>()
    .ConfigureLoggin(logging => logging.AddEventLog())
    .Build();

如果想添加别的ILoggerProviders,可以使用ConfigureLogging来配置。如上面的示例。

版权声明:著作权归作者所有。

相关推荐

nginx配置Basic认证

最近在搭建kibana时,发现kibana是没有提供认证功能,所以想到给它加一个认证,最简单的就是basic auth认证。下面记录下nginx配置basic认证的过程。添加Basic Auth认证需要先创建密码文件,这里使用htpasswd。如果没有找到htpasswd命令,可以先安装httpd-tools。安装httpd-toolsyum install 

如何修改Git已提交的日志

在某些时候,你发现了之前提交到git上的日志描述不全或者描述有误,这时你是会想要修改它的。 但提交已经是push到服务器,甚至是已经有好几个提交在后面了,这个怎么办呢?Git提供了一些方法来修改。下面分为四种情况来处理。情况一:最后一次提交且未push执行以下命令:git commit --amend git会打开$EDITOR编辑器,它会加载这次提交的日志,这样我们

nginx配置gzip压缩

配置在nginx.conf的http节点,添加gzip配置如下:http {   gzip on;   gzip_min_length 1k;   gzip_buffers 4 16k;   gzip_comp_level 2;   gzip_types text/plain text/c

Django 2.0:路径转换器(Path converter)的用法

Django2.0于2017年12月2日已经正式发布。Django2.0支持Python3.4,3.5以及3.6,移除了对Python2.7的支持。官方强烈建议Python 3.x使用最新的版本。在Django2.0其中一个新特性为:简化Url路由的语法。在代码上主要体现在新增了django.urls.path函数,它带来了更简洁、更可读的路由语法,如:原来的urlurl(r'^arti

Spring Boot:日志集成

Java日志框架Java有好几个日志框架,我们有时在选择Java日志框架时会有点迷惑。下面几个是常用的日志框架Common Logging:Apache最早提供的日志的门面接口。避免和具体的日志方案直接耦合。SLF4J(Simple Logging Facade for JAVA):和Common Logging一样,是一个门面框架,是对

Nginx配置WebSocket

Nginx配置WebSocketserver {     listen       80;     server_name  example.com;     location&