Min*_*v 1 3 c# exception serilog asp.net-core-2.0 serilog-exceptions
我需要使用 Serilog.Exceptions 包来捕获异常。Serilog 是从 appsettings.json 读取的
{
"Serilog": {
"Using": [
"Serilog.Sinks.RollingFile",
"Serilog.Sinks.Seq"
],
"WriteTo": [
{
"Name": "RollingFile",
"Args": {
"restrictedToMinimumLevel": "Debug",
"pathFormat": "myPath\\log-{Date}.log"
}
},
{
"Name": "RollingFile",
"Args": {
"restrictedToMinimumLevel": "Error",
"pathFormat": "myPath\\error-{Date}.log"
}
},
{
"Name": "Seq",
"Args": {
"serverUrl": "myUrl",
"apiKey": "myApiKey"
}
}
],
"Enrich": [
"FromLogContext",
"WithMachineName",
"WithThreadId"
],
"Properties": {
"Application": "myApplicationName"
}
}
}
Run Code Online (Sandbox Code Playgroud)
在我的startup.cs中
var logger = new LoggerConfiguration()
.Enrich.WithExceptionDetails()
.ReadFrom.Configuration(Configuration)
.CreateLogger();
Log.Logger = logger;
Run Code Online (Sandbox Code Playgroud)
但这不起作用。我是否需要在 Serilog.Exceptions 包的 appsettings.json 中添加一些其他属性?或者 appsettings.json 配置是否正确?我究竟做错了什么?谢谢
以下是我Serilog在ASP.NET Core 2.1. 您可以将其作为清单,看看您错过了什么。
Serilog.AspNetCore、Serilog.Exceptions和Serilog.Settings.Configuration您想要使用的其他接收器。Serilog在主程序中设置:
public class Program
{
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseSerilog((hostingContext, loggerConfiguration) =>
loggerConfiguration
.ReadFrom.Configuration(hostingContext.Configuration)
);
}
Run Code Online (Sandbox Code Playgroud)将WithExceptionDetails您的Serilog部分放入appsettings.json:
{
"Serilog": {
...
"Enrich": [
"FromLogContext",
"WithExceptionDetails"
],
...
}
}
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
5404 次 |
| 最近记录: |