我目前正在尝试将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'
我错过了什么?