Cha*_*ler 5 log4net environment-variables
我正在设置SMPTAppender,以便在生产代码出错时通过电子邮件发送日志文件.有一些机器,例如本地的测试机器,我不希望发送电子邮件.
我试图在propertyfilter中使用环境变量COMPUTERNAME,但这不起作用:
<filter type="log4net.Filter.PropertyFilter">
<Key value="COMPUTERNAME" />
<StringToMatch value="myComputerName" />
<Accept value="false" />
</filter>
Run Code Online (Sandbox Code Playgroud)
我在这样的文件追加器中使用了ComputerName:
<file value="${HOMEDRIVE}\\loggingDirectory\\AppLogFile.${COMPUTERNAME}.log" />
Run Code Online (Sandbox Code Playgroud)
这也没有用(我也没想到):
<filter type="log4net.Filter.PropertyFilter">
<Key value="${COMPUTERNAME}" />
<StringToMatch value="myComputerName" />
<Accept value="false" />
</filter>
Run Code Online (Sandbox Code Playgroud)
有没有办法在属性过滤器中使用环境变量?欢迎其他建议.
您使用了错误的Key值.LoggingEvent.Properties集合使用HostName属性填充,该属性具有"log4net:HostName"签名.
您的过滤器应如下所示:
<filter type="log4net.Filter.PropertyFilter">
<Key value="log4net:HostName" />
<StringToMatch value="computerToExclude" />
<AcceptOnMatch value="false" />
</filter>
Run Code Online (Sandbox Code Playgroud)
还要注意使用AcceptOnMatch,而不是Accept.
| 归档时间: |
|
| 查看次数: |
1132 次 |
| 最近记录: |