簡體   English   中英

如何將電子郵件地址作為參數從C#代碼傳遞給log4net smtp appender

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM