我正在尝试为应用程序配置log4net。
System.IO.FileInfo fi = new System.IO.FileInfo("some junk file name");
log4net.Config.XmlConfigurator.Configure(fi);
log4net.Config.XmlConfigurator.ConfigureAndWatch(fi);当上面的代码没有抛出任何异常时,我很惊讶!
当文件不存在时,为什么log4net没有抛出任何异常?这难道不是糟糕的设计吗?设计这样的行为有什么原因吗?
如果它没有抛出任何异常,我怎么知道文件是否被成功解析并正常工作?
发布于 2009-10-23 00:13:58
我相信这是经过深思熟虑的:看看the Log4Net FAQ中的"Is Log4Net a reliable logging system“一节。
其思想是,日志记录子系统不应该仅仅因为日志记录子系统中的错误或配置错误而引发异常,从而导致应用程序崩溃。
至于验证配置文件,您可以在部署到生产环境之前在开发环境中测试配置文件是否产生预期的输出。除非使用经过测试的工具,否则不要修改生产配置文件(无需手动编辑)。
我还了解到,您可以向log4net元素添加属性"debug=true“,以启用内部log4net调试。不过,您可能至少需要正确配置一个附加器才能看到内部调试输出。不过我从来没试过这个。
https://stackoverflow.com/questions/1607299
复制相似问题