.net - log4net.Config.BasicConfigurator.Configure() 和 log4net.Config.XmlConfigurator.Configure() 之间有区别吗?

标签 .net log4net

我正在使用 log4Net用于我的日志记录。我也有以下套装...

<log4net debug="true"> .. </>

好的,现在,当我有以下代码时
log4net.Config.BasicConfigurator.Configure();

我真的没有得到任何详细的内部调试信息,但我确实会显示我记录的任何内容。

现在,当我换出该代码并将其替换为:
log4net.Config.XmlConfigurator.Configure();

我得到了很多内部调试 xml 信息,我记录的任何信息都会显示出来。

那么这是为什么呢?两者有什么区别?

最佳答案

BasicConfigurator只允许在 root 处配置一个 appender,并且它只能登录到控制台。它并没有真正为您提供任何调试信息,因为实际上没有任何调试信息。
XmlConfigurator为您提供全套 log4net 配置选项 - 请参阅 Configuration手册部分的详细信息。它实际上从一个使用 BasicConfigurator 的例子开始。并继续向您展示可以在 XML 中设置的所有附加属性。

在生产应用程序中,您可能希望使用不同阈值和区域的不同附加程序使用不同的记录器;您可能会从几个不同的组件接收日志信息,并且不想对每个组件都执行完全相同的日志记录。您肯定还想登录到控制台以外的地方——日志文件、事件日志、电子邮件警报等等。您只能使用 XmlConfigurator 执行此操作.

关于.net - log4net.Config.BasicConfigurator.Configure() 和 log4net.Config.XmlConfigurator.Configure() 之间有区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2390668/

相关文章:

c# - 如何订阅改变DependencyProperty?

c# - 某些查询的一致 Lucene.NET 运行时异常

log4net - log4net 会挂起应用程序吗?

c# - 我解决下的log4net问题

.net - 在客户端为 ClickOnce 应用程序选择目标框架

c# - 实现自己的 ViewModelLocator

c# - 未安装 .NET 4.5.2 的目标包

c# - 静态构造函数在同一个appdomain中被调用两次?

log4net - 在 log4net 中启用日志级别

.net - 为什么 Log4Net 过滤器会接收评估器阈值之外的消息?