来自Properties的Log4Net参数没有编程

时间:2018-04-25 13:21:37

标签: log4net

我尝试设置我的Log4Net动态。但我的Appender中的某些属性不起作用。

即。在我的Program.cs

GlobalContext.Properties["hostname"] = Environment.MachineName;
GlobalContext.Properties["serviceName"] = ServiceProperties.ServiceName;
GlobalContext.Properties["smtpHost"] = LoggingProperties.SMTPServer;
GlobalContext.Properties["maximumFileSize"] = LoggingProperties.MaximumFileSize;
log4net.Config.XmlConfigurator.Configure();
log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
log.Debug("Logger configured.");
log.Fatal("I am a Mail"); // Mail Logging Test

我的app.config

部分
<appender name="SmtpAppender" type="log4net.Appender.SmtpAppender">
    <param name="smtpHost" value="%property{smtpHost}" />
    <evaluator type="log4net.Core.LevelEvaluator">
      <threshold value="FATAL"/>
    </evaluator>
    ....
</appender>

在我的SmtpAppender中,字面意思是“%property {smtpHost}”als String,与其他所有属性相同。

我是否可以使用配置中的属性而无需以编程方式设置所有内容,或者是否必须对整个appender进行编码?

此致

0 个答案:

没有答案