asp.net core Serilog的使用
先贴上关于使用这个日志组件的一些使用方法,等有时间了在吧官方的文档翻译一下吧,现在真是没时间。
Serilog在使用上主要分为两大块:
第一块是主库,包括Serilog以及Serilog.AspNetCore,如果导入后一个的话会自动导入前一个,因为后者(serilog.aspnetcore)依赖前者(serilog).
第二块是各种sinks,就是各种输出目标,比如Serilog.Sinks.File这个库主要是将日志输出到文件上,Serilog.Sinks.Console主要是将日志输出到控制台上面。
下面介绍使用方法。
首先添加nuget package:
①:install-package Serilog.AspNetCore -DependencyVersion Highest 这一步操作也会导入Serilog。因为依赖关系。
②: install-package Serilog.Sinks.File Serilog.Sinks.Console 这一步安装了两个Sinks,因为我要将日志输出到Console和File中。系统默认的也有Console的支持,但是这个的显示更加有好一些。
然后在program中添加如下代码:
public static int Main(string[] args) { Log.Logger = new LoggerConfiguration() .MinimumLevel.Debug()//最小的输出单位是Debug级别的 .MinimumLevel.Override("Microsoft", LogEventLevel.Information)//将Microsoft前缀的日志的最小输出级别改成Information .Enrich.FromLogContext() .WriteTo.File(@"C:\Users\jianxin\Desktop\logFiles\pangjianxin.{Date}.txt",RollingInterval.Day)将日志输出到目标路径,文件的生成方式为每天生成一个文件 .CreateLogger(); try { Log.Information("Starting web host"); CreateWebHostBuilder(args).Build().Run(); return 0; } catch (Exception ex) { Log.Fatal(ex, "Host terminated unexpectedly"); return 1; } finally { Log.CloseAndFlush(); } }
然后,在CreateWebHostBuilder方法中添加UseSerilog:
public static IWebHostBuilder CreateWebHostBuilder(string[] args) => WebHost.CreateDefaultBuilder(args) .UseSerilog()//添加这个 .UseStartup<Startup>();
然后就可以注入Ilogger<sometype>来进行使用了。