NLog:在包含的配置文件中使用变量

时间:2017-06-12 12:29:49

标签: .net nlog

我目前正在尝试将NLog配置分发到“主”配置所包含的单独配置文件中。

在master中我定义了我想在包含的配置中重用的变量。

将此视为在 .exe.config 中定义的master:

  <configSections>
    <section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog" />
  </configSections>

  <nlog autoReload="true" keepVariablesOnReload="true" xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <variable name="log_dir" value="./" />
    <include file="~/Workers.NLog.config" />
  </nlog>

包含的 Workers.NLog.config 如下所示:

<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      throwExceptions="true">

  <variable name="verbose" value="${longdate}|${processid}|${level}|${logger}|${message}${onexception:|EXCEPTION OCCURRED\:${exception:format=toString,Data}}" />

  <targets>
    <target xsi:type="File" name="all" fileName="${log_dir}/all.log" layout="${verbose}" />
  </targets>

  <rules>
    <logger name="*" minlevel="Trace" writeTo="all" />
  </rules>
</nlog>

这会导致例外情况:找不到LayoutRenderer:'log_dir'

我错过了什么?

0 个答案:

没有答案