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配置WebSocket

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

Spring Boot:日志集成

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

Spring MVC配置CORS

Spring Framework 从4.2开始支持配置CORS。Spring MVC支持CORS的范围包括:方法级别配置CORS全局配置CORS方法级别配置CORS使用注解@CrossOrgin可以对@RequestMapping注解的方法设置CORS。@RestController @RequestMapping("/users") public

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

使用awk分析nginx访问日志access.log的ip

access.log为nginx的访问日志,默认路径在/var/log/nginx/access.log 分析access.log的ip命令如下:awk '{print $1}' access.log |sort|uniq -c|sort -n 命令里使用awk过滤出访问的ip使用sort对ip排序对排序后的ip进行统计,统计每一个ip访

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

.gitignore常用忽略文件配置

这里列出.gitignore常用忽略的文件# 编译后的源码后缀 # ################### *.com *.class *.dll *.exe *.o *.so # Packages # ############ # 最好是解压这些压缩包, *.7z *.dmg *.gz *.iso *.jar *.rar *.tar *.zip #

如何修改Git已提交的日志

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

nginx配置Basic认证

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

Nginx配置代理gRPC

Nginx 1.13.10新增了对gRPC的原生支持。本文介绍如何配置Nginx的gRPC。安装NginxNginx版本要求:1.13.10。gRPC必须使用HTTP/2传输数据,支持明文和TLS加密数据,支持流数据的交互。这是为了充分利用 HTTP/2 连接的多路复用和流式特性。所以在安装部署nginx时需要安装http/2。使用源码安装,编译时需要加入http_s