如何使用Log4net打开/关闭日志记录

sak*_*net 14 log4net

我使用Log4net记录了所有应用程序事务.有没有什么办法可以在不改变为日志记录编写的代码的情况下从公共位置禁用和启用日志记录.

Ste*_*gli 11

我假设你想通过代码在正在运行的应用程序中切换日志.我没有尝试,但我认为调用以下方法应该禁用日志记录:

LogManager.GetRepository().ResetConfiguration();
Run Code Online (Sandbox Code Playgroud)

要重新启用日志记录,您可以调用

XmlConfigurator.Configure();
Run Code Online (Sandbox Code Playgroud)

(或其他方法之一XmlConfigurator).

但是,重复调用该方法似乎存在问题Configure.我不知道这对你来说是不是一个问题,但至少我警告过你......


Kam*_*rey 11

您可以通过更改log4net配置文件来关闭它们.特别是将appender的级别或全局级别更改为"OFF"值.见这里了解详细信息