在.net windows应用程序中使用log4net

时间:2011-04-19 15:23:51

标签: c# logging log4net

我们正在使用log4Net将消息从我们的.Net 3.5 Windows应用程序记录到文件和数据库中。

winforms应用程序部署到生产环境中并启动并运行。 在部署之前,级别节点属性值设置为“ALL”。

<level value="ALL"/>

当应用程序运行时,我需要将级别更改为“ERROR”并保存xml。然后,log4net应该只记录日志中的“错误”类型消息。 我如何使用log4net实现这一目标? 如果不可行,还有其他方法吗?

感谢。

3 个答案:

答案 0 :(得分:3)

默认情况下,如果将log4net配置保存在单独的文件中(而不是app.config文件中),则可以更新该文件,并且由于log4net中的XmlConfigurator,应用程序将立即更改它记录信息的级别。

如果您想从应用程序中动态更新日志记录级别,可以通过.Net 3.5+的LINQ to XML功能实现这一目标。我写了一篇博客文章,概述了如何做到这一点here

答案 1 :(得分:2)

使用

  

[组件:   log4net.Config.XmlConfigurator(观看=真)]

根据{{​​3}}

可能有用

答案 2 :(得分:0)

在应用程序中,您需要在配置文件上安装filewatcher,然后在更改配置文件时重新运行log4net初始化。