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

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


我看到有一个扩展https://github.com/serilog/serilog-settings-configuration可以Serilog从Configuration. 在示例中,路径配置为"%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": "*"

}

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


江户川乱折腾
浏览 123回答 2
2回答

白衣染霜花

配置路径将在工作目录的文件夹Logs/log.txt下写入日志文件logs"WriteTo": [  {    "Name": "File",    "Args": {      "path": "Logs/log.txt"    }  }您也可以检查此答案以获取其他选项

慕容森

您可以添加一个可以写入本地路径文件的“RollingFile”。在这个例子中,我在项目根目录中的一个文件中编写,如下所示。{    "Name": "RollingFile",    "Args": {      "pathFormat": ".\\Logs\\logs.txt",      "fileSizeLimitBytes": 1048576    }  },appsettings.json 上的完整 json 也是这样结束的(如果你需要一个完整的例子)..."Serilog": {    "MinimumLevel": {      "Default": "Debug",      "Override": {        "System": "Debug",        "Microsoft": "Debug"      }    },    "WriteTo": [      {        "Name": "ApplicationInsightsEvents",        "Args": {          "instrumentationKey": "xxxxxxxxxx"        }      },      {        "Name": "RollingFile",        "Args": {          "pathFormat": ".\\Logs\\logs.txt",          "fileSizeLimitBytes": 1048576        }      },      { "Name": "Console" },      {        "Name": "EventLog",        "Args": {          "source": "API NAME",          "logName": "CustomLog",          "restrictedToMinimumLevel": "Warning"        }      }    ],    "Enrich": [ "FromLogContext", "WithMachineName", "WithThreadId" ],    "Properties": {      "Application": "API NAME"    }  }...
打开App,查看更多内容
随时随地看视频慕课网APP