我正在使用log4Net我的日志.我也有以下几套......
<log4net debug="true"> .. </>
Run Code Online (Sandbox Code Playgroud)
好的,现在,当我有以下代码时
log4net.Config.BasicConfigurator.Configure();
Run Code Online (Sandbox Code Playgroud)
我真的没有得到任何详细的内部调试信息,但我确实显示了我记录的任何内容.
现在,当我交换该代码并将其替换为:
log4net.Config.XmlConfigurator.Configure();
Run Code Online (Sandbox Code Playgroud)
我得到了很多内部调试xml信息和我记录的任何内容,都会显示出来.
那么为什么呢?这两者有什么区别?
就在这里.如果要在代码中配置日志,而不是从配置中配置日志,那么您需要使用BasicConfigurator.@Aaronaught您的帖子很老了,这可以解释为什么您的声明:
BasicConfigurator只允许在根目录下配置一个appender,它只能登录到控制台.
.. 不正确.我在2015年3月使用BasicConfigurator进行事件,文件和数据库日志记录.它还支持每个记录器多个appender.我的log4net是以编程方式配置的,而不是从配置文件中配置的.
BasicConfigurator只允许在根目录下配置一个appender,它只能登录到控制台.它并没有真正给你任何调试信息,因为没有任何调试信息.
XmlConfigurator为您提供完整的log4net配置选项 - 有关详细信息,请参阅手册的" 配置"部分.它实际上以一个使用示例开始,BasicConfigurator然后继续显示您可以在XML中设置的所有其他属性.
在生产应用程序中,您可能希望使用不同的记录器,使用不同的阈值和区域; 您可能会从几个不同的组件接收日志信息,并且不希望为每个组件执行完全相同的日志记录.你也肯定想要登录控制台以外的地方 - 日志文件,事件日志,电子邮件警报等等.你只能这样做XmlConfigurator.
| 归档时间: |
|
| 查看次数: |
4184 次 |
| 最近记录: |