【发布时间】:2013-01-10 10:53:48
【问题描述】:
在Log4Net Config Examples 网页上,它显示了有关如何设置 SmtpAppender 的示例。
所以我将以下设置添加到我的 app.config 文件中,并在记录警告或更高级别时成功发送电子邮件(这很好)。
<appender name="EmailAppender" type="log4net.Appender.SmtpAppender">
<to value="me@mycompany.com" />
<from value="me@mycompany.com" />
<subject value="test logging message" />
<smtpHost value="smtpserver.mycompany.com" />
<lossy value="true" />
<evaluator type="log4net.Core.LevelEvaluator">
<threshold value="WARN"/>
</evaluator>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%newline%date [%thread] %-5level %logger [%property{NDC}] - %message%newline%newline%newline" />
</layout>
</appender>
但是 From 值是用我的电子邮件地址硬编码的。
我的应用程序是一个 WinForms 应用程序,它将被部署到用户的 PC 上,因此知道哪个用户遇到了警告/错误会非常方便。
是否可以设置一个 Log4Net SmtpAppender 以便 From 值使用当前用户的电子邮件地址?
感谢您的帮助。
【问题讨论】:
-
在日志中包含用户名不够吗?您可以使用表达式 %env{USERNAME} 在主题或日志消息中包含环境变量 %USERNAME%。
标签: c# log4net log4net-configuration log4net-appender