[英]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.