例如,现在我从 serilog 获取此日志:
查询使用“First”/“FirstOrDefault”运算符,而不使用“OrderBy” 和过滤器运算符。这可能会导致不可预测的结果。
就是这样,没有堆栈跟踪,一些
File.cs
和行号,什么都没有。
如何让serilog写入该日志的来源(文件,行号)?
这是我当前的
appsettings.json
serilog 配置:
"Serilog": {
"MinimumLevel": {
"Default": "Information"
},
"WriteTo": [
{ "Name": "Console" },
{
"Name": "File",
"Args": {
"path": "./logs/log.json",
"rollingInterval": "Day",
"formatter": "Serilog.Formatting.Json.JsonFormatter, Serilog",
"restrictedToMinimumLevel": "Warning"
}
}
]
在
Program.cs
我是这样设置的:
builder.Host.UseSerilog(
(context, configuration) => configuration.ReadFrom.Configuration(context.Configuration));
您可以尝试以下示例:
using Microsoft.Extensions.Configuration;
var config = new ConfigurationBuilder().AddJsonFile("appsettings.json").Build();
Log.Logger= new LoggerConfiguration()
.ReadFrom.Configuration(config)
.CreateLogger();
try
{
throw new Exception("test error");
}
catch (Exception ex)
{
Log.Error( ex,"");
}
Console.ReadLine();