【问题标题】:Standalone configuration file for serilogserilog 的独立配置文件
【发布时间】:2020-07-10 06:35:56
【问题描述】:

我正在寻找一种方法来为 serilog 提供独立的 XML/JSON 配置文件,该文件是从应用程序本身运行的目录中动态加载的。

我正在寻找与 NLog provides 类似的东西。如Nlog#Configuration-file中所述:

对于独立的 *.exe 应用程序,文件搜索如下:

  • 标准应用程序配置文件(通常是applicationname.exe.config)
  • 应用程序目录中的applicationname.exe.nlog
  • 应用程序目录中的 NLog.config(名称敏感;使用 docker dotnet core)
  • NLog.dll.nlog 位于 NLog.dll 所在目录中(仅当 GAC 中未安装 NLog 时)

serilog 中有没有类似的行为?

【问题讨论】:

    标签: serilog


    【解决方案1】:

    我自己在wiki 中找到了答案。

    var configuration = new ConfigurationBuilder()
        .SetBasePath(Directory.GetCurrentDirectory())
        .AddJsonFile("debug.json")
        .Build();
    
    var logger = new LoggerConfiguration()
        .ReadFrom.Configuration(configuration)
        .CreateLogger();
    

    其中debug.json 是应用程序目录中可以更改的文件。我的示例文件看起来像

    {
      "Serilog": {
        "Using":  [ "Serilog.Sinks.File" ],
        "MinimumLevel": "Debug",
        "WriteTo": [
          { "Name": "File", "Args": { "path": "log.log" } }
        ],
        "Properties": {
            "Application": "Sample"
        }
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多