在一个大项目中我们使用log4net。 目前我们有一个正常的全球web.config:
<appender name="RestartSmtpAppender" type="log4net.Appender.SmtpAppender">
<to value="koch@xxxx.de" />
<from value="info@xxxxx.de" />
<subject value="ccccc />
<smtpHost value="xxxx" />
<bufferSize value="512" />
<lossy value="true" />
</appender>
我们不希望在user.config中进行设置,因此每个开发人员都会收到自己的电子邮件,而不是1个开发人员或1个电子邮件帐户获取所有电子邮件。
这怎么可能?
答案 0 :(得分:0)
您可以使用log4net&#39; s GlobalContext
在本地设置电子邮件地址:这必须在配置log4net之前完成。
string email = "dev1@example.com"; // Get value from user.config or default
GlobalContext.Properties["emailto"] = email;
log4net.Config.XmlConfigurator.ConfigureAndWatch(…);
然后在log4net配置中,您必须将'To'
属性标记为PatternString
并检索值:
<to type="log4net.Util.PatternString" value="%property{emailto}" />
<from value="info@xxxxx.de" />
...