让serilog日志引用日志起源的代码

问题描述 投票:0回答:1

例如,现在我从 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));
asp.net-core serilog serilog-aspnetcore
1个回答
0
投票

您可以尝试以下示例:

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();

© www.soinside.com 2019 - 2024. All rights reserved.