Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在.net windows应用程序中使用log4net_C#_Logging_Log4net - Fatal编程技术网

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

C# 在.net windows应用程序中使用log4net,c#,logging,log4net,C#,Logging,Log4net,我们使用log4Net将消息从.NET3.5Windows应用程序记录到文件和数据库中 winforms应用程序已部署到生产环境中,并且已启动并运行。 部署之前,“级别节点”属性值设置为“全部” <level value="ALL"/> 当应用程序运行时,我需要更改级别以表示错误并保存xml。然后,log4net应该只在日志中记录错误类型的消息。 如何使用log4net实现这一点? 如果不可行,请提供其他方法 谢谢。在应用程序中,您需要在配置文件上有一个filewatcher,然后

我们使用log4Net将消息从.NET3.5Windows应用程序记录到文件和数据库中

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

<level value="ALL"/>
当应用程序运行时,我需要更改级别以表示错误并保存xml。然后,log4net应该只在日志中记录错误类型的消息。 如何使用log4net实现这一点? 如果不可行,请提供其他方法


谢谢。

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

使用

[大会: log4net.Config.XmlConfiguratorWatch=true]


默认情况下,根据

,如果将log4net配置保存在一个单独的文件中,而不是保存在app.config文件中,则可以更新该文件,应用程序将立即更改其记录信息的级别,这要感谢log4net中的XmlConfigurator


如果您想从应用程序内部动态更新日志记录级别,有一种简单的方法可以做到这一点,这要感谢.NET3.5+中的LINQtoXML功能。我写了一篇博客文章,概述了如何做到这一点。

感谢您的输入。Filewatcher-?您是说使用具有文件依赖性的.Net缓存API吗?没有,这里有一个特定的Filewatcher类。它确实可以工作,但前提是您没有使用app.config/web.config文件来存储log4net配置。您必须使用单独的配置文件。