我们正在使用log4Net将消息从我们的.Net 3.5 Windows应用程序记录到文件和数据库中。
winforms应用程序部署到生产环境中并启动并运行。 在部署之前,级别节点属性值设置为“ALL”。
<level value="ALL"/>
当应用程序运行时,我需要将级别更改为“ERROR”并保存xml。然后,log4net应该只记录日志中的“错误”类型消息。 我如何使用log4net实现这一目标? 如果不可行,还有其他方法吗?
感谢。
答案 0 :(得分:3)
默认情况下,如果将log4net配置保存在单独的文件中(而不是app.config文件中),则可以更新该文件,并且由于log4net中的XmlConfigurator,应用程序将立即更改它记录信息的级别。
如果您想从应用程序中动态更新日志记录级别,可以通过.Net 3.5+的LINQ to XML功能实现这一目标。我写了一篇博客文章,概述了如何做到这一点here。
答案 1 :(得分:2)
使用
根据{{3}} ,[组件: log4net.Config.XmlConfigurator(观看=真)]
可能有用
答案 2 :(得分:0)
在应用程序中,您需要在配置文件上安装filewatcher,然后在更改配置文件时重新运行log4net初始化。