【问题标题】:Reference a NLog variable from App.Config Setting从 App.Config 设置中引用 NLog 变量
【发布时间】:2018-09-06 03:07:23
【问题描述】:
<envSettings>
    <environment name="Local">      
      <add key="ElasticSearch.Url" value="http://localhost:9200/" />
    </environment>
    <environment name="Dev">     
      <add key="ElasticSearch.Url" value="http://XXXXXXX:9200/" /> 
    </environment>
 </envSettings>

 <nlog autoReload="true" xmlns="http://www.nlog-project.org/schemas/NLog.xsd" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      throwExceptions="false">
    <variable name="elastic.url" value="${envSettings:name=ElasticSearch.Url}"/> </nlog>

NLog 是否可以从 EnvSettings 读取值?我用过 NLog.Extended nuget 包。

【问题讨论】:

标签: c# .net app-config nlog


【解决方案1】:

正如 Rolf 所注意到的,您可能需要一个自定义布局渲染器,因为最接近的是 System.Environment(例如 ${environment:variable=PATH}

那么代码:

// register ${ElasticSearch-Url}
LayoutRenderer.Register("ElasticSearch-Url", (logEvent) => retrieve ElasticSearch.url here);

尽快执行此操作,例如在main()app_start 等中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-18
    • 1970-01-01
    • 2021-05-14
    • 2013-03-14
    • 2011-05-12
    • 2017-11-16
    • 2011-07-15
    • 2014-08-07
    相关资源
    最近更新 更多