c# - 在 log4net 中以编程方式更改日志级别?

标签 c# log4net

有没有办法以编程方式在 log4net 中设置日志级别?我原以为会有一个属性可以让您执行此操作,但我似乎找不到。

我想要做的是有一个可配置的选项来进入 Debug模式。这会导致额外的日志记录。

我正在使用一个单独的 log4net 配置 xml 文件。目前我想到的解决方案如下:

  1. 使用 dom 编辑日志文件,然后调用 XMLConfigurator 根据文件配置日志文件。

  2. 有两个日志配置文件,并在选项更改时调用 xml Configurator 以使用适当的日志配置文件。

我倾向于 2,这有什么不可行的原因吗?

最佳答案

您可以通过编程方式更改 log4net 记录器的日志记录级别,但如何操作并不明显。我有一些代码可以做到这一点。给定这个记录器:

private readonly log4net.ILog mylogger;

您必须执行以下花哨的步骤才能将其设置为调试:

((log4net.Repository.Hierarchy.Logger)mylogger.Logger).Level = log4net.Core.Level.Debug;

关于c# - 在 log4net 中以编程方式更改日志级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/650694/

相关文章:

c# - 在 C# 中将小数转换为 double 会产生差异

c# - WCF/客户端应用程序——业务逻辑应该放在哪里?

log4net - 带有 Log4Net 的语义日志记录应用程序 block ?

file - 外部文件中的 Log4Net 配置不起作用

c# - log4net BasicConfigurator 未在控制台上打印

c# - 我可以接受 Prompt.Choice 中不在选项列表中的文本吗?

c# - Windows 7 Snap - Windows 消息?

c# - 在没有 xml 文件的情况下在 c# 中使用 log4net

c# - 使用 ILMerge 后应用程序停止记录

c# - 长路径\\?\解决方法不适用于某些安装