[英]How to pass email address as parameter from C# code to log4net smtp appender
我正在使用log4net smtp appender在应用程序出错时发送电子邮件警报。 有没有办法在运行时分配电子邮件地址而不是放入配置文件。 配置文件是:
<appender name="LogSmtpAppender" type="log4net.Appender.SmtpAppender">
<authentication value="Basic" />
<to value="" />
我正在从我的应用程序初始化记录器:
public static readonly log4net.ILog applicationLog = log4net.LogManager.GetLogger("MyApplication");
您可以获取appender,然后通过设置属性更改配置,然后激活新选项,如:
// Get the Hierarchy object that organizes the loggers
Hierarchy hier = log4net.LogManager.GetRepository() as Hierarchy;
var smtpappender =
(SmtpAppender)hier.GetAppenders().Where(
appender => appender.Name.Equals("LogSmtpAppender", StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault();
if (smtpappender != null)
{
// Change your setting here
smtpappender.To = "new@value.com"
// Activate the options
smtpappender.ActivateOptions();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.