如何配置`Serilog`以使用cofig文件写入应用程序目录?

mos*_*aka 9 c# serilog .net-core

Serilog在一个.net core. 我想配置应用程序目录的日志路径。

我看到有一个扩展https://github.com/serilog/serilog-settings-configuration可以SerilogConfiguration. 在示例中,路径配置为"%TEMP%\\Logs\\serilog-configuration-sample.txt". 如何将其设置为工作目录?

我已经搜索过了,并且知道它可以通过代码来完成,但似乎没有人问如何通过配置文件来做到这一点,即appsettings.json.

当前配置:

{
  "Serilog": {
    "Using": [
      "Serilog.Sinks.File"
    ],
    "MinimumLevel": {
      "Default": "Debug",
      "Override": {
        "Microsoft": "Warning",
        "System": "Warning"
      }
    },
    "WriteTo": [
      {
        "Name": "File",
        "Args": { "path": "Logs\\serilog-configuration-sample.txt" }
      }
    ],
    "Enrich": [ "FromLogContext", "WithMachineName" ],
    "Destructure": [
    ],
    "Properties": {
    }
  },
  "AllowedHosts": "*"
}
Run Code Online (Sandbox Code Playgroud)

我希望将日志路径设置为工作目录。但目前它在“C:\Program Files\IIS Express”中。

Ela*_*ode 5

配置路径就像Logs/log.txt将日志文件写入logs工作目录中的文件夹下

"WriteTo": [
  {
    "Name": "File",
    "Args": {
      "path": "Logs/log.txt"
    }
  }
Run Code Online (Sandbox Code Playgroud)

您也可以检查此答案以获取其他选项

  • 这个答案中的方法似乎没有效果......但是你提供的链接,它使用环境变量对我有用。 (3认同)