在Log4net中发布期间关闭调试日志记录
当我在发布模式下编译我的应用程序时,我发现Log4Net仍然记录调试信息;你知道怎么解决这个问题吗 这是我的App.Config文件:在Log4net中发布期间关闭调试日志记录,log4net,Log4net,当我在发布模式下编译我的应用程序时,我发现Log4Net仍然记录调试信息;你知道怎么解决这个问题吗 这是我的App.Config文件: 我错过了什么吗?在你的App.Config文件中没有任何东西可以告诉log4net在发布或调试模式下做不同的事情。如果希望两个版本之间的日志记录不同,则必须更改两个版本之间的配置文件 您最好的选择可能是创建一个App.Config用于发布,一个用于调试,然后按照StackOverflow问题中的建议进行操作: 注意:在调试版本中,您的发行版和debug
我错过了什么吗?在你的App.Config文件中没有任何东西可以告诉log4net在发布或调试模式下做不同的事情。如果希望两个版本之间的日志记录不同,则必须更改两个版本之间的配置文件 您最好的选择可能是创建一个App.Config用于发布,一个用于调试,然后按照StackOverflow问题中的建议进行操作:
<level value="DEBUG" />
相对于发布版本中的以下行(当然,如果需要,您可以选择错误或致命):
也许可以试试这样的方法?设置为您希望接收的最低级别
<level value="WARN" />
如果您的App.Config如下所示:
<root>
<level value="Info" />
<appender-ref ref="ConsoleAppender" />
<appender-ref ref="RollingFileAppender" />
</root>
与此有相当多的重叠:
<root>
<level value="Info" />
<appender-ref ref="ConsoleAppender" />
<appender-ref ref="RollingFileAppender" />
</root>
#if DEBUG
log4net.Repository.ILoggerRepository RootRep;
RootRep = LogManager.GetRepository(Assembly.GetCallingAssembly());
XmlElement section = ConfigurationManager.GetSection("log4net") as XmlElement;
XPathNavigator navigator = section.CreateNavigator();
XPathNodeIterator nodes = navigator.Select("root/level");
foreach (XPathNavigator appender in nodes)
{
appender.MoveToAttribute("value", string.Empty);
appender.SetValue("Debug");
}
IXmlRepositoryConfigurator xmlCon = RootRep as IXmlRepositoryConfigurator;
xmlCon.Configure(section);
#endif