第一步:在項目上用nuget安裝 Serilog.AspNetCore 最新的穩定版即可 ,安裝這個會把其他需要的包都給包含着
第二步:修改 Program.cs 的 CreateHostBuilder 方法,加入 .UseSerilog(),修改後的 CreateHostBuilder 方法如下
public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>(); }).UseSerilog((hostingContext, loggerConfiguration) => { loggerConfiguration.ReadFrom.Configuration(hostingContext.Configuration); });
第三步:修改 appsettings.json,加入如下節點
"Serilog": { "Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.File" ], // 日誌輸出級別 "MinimumLevel": { "Default": "Debug", "Override": { // 日誌調用類命名空間如果以 Microsoft 開頭,覆蓋日誌輸出最小級別爲 Information "Microsoft": "Warning", "Microsoft.Hosting": "Information", "System": "Warning", "Microsoft.Hosting.Lifetime": "Information" } }, "WriteTo": [ { "Name": "Console" }, { "Name": "File", "Args": { "path": "Logs/log.txt" } } ] }
接下來就可以調用了
調用可以如下:
Log.Error("test");
或者在構造函數中取
private readonly ILogger<QiMenController> _logger; public QiMenController(ILogger<QiMenController> logger) { _logger = logger; }