我尝试设置我的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进行编码?
此致