博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
当Log4net无法工作时启用trace(How to debug log4net while its not woking)
阅读量:6149 次
发布时间:2019-06-21

本文共 1609 字,大约阅读时间需要 5 分钟。

Log4net罢工的情况不知道有多少人碰到?Zzk里没有,stackoverflow上也不是很多,引入log4net的自述它不是一个可靠地log组件而是一个高效fail stop的组件,fail stop就是当log失败时就停下,是运行友好的,下面调适的实践希望能给大家一点帮助。

常年依赖Log4net,当它罢工的时候哥迷茫了,总要有错误信息啊,没错信息怎么调适,让我迷茫了两次,如果没了它我们怎么办?

以前一直知道.net的trace很强也没去了解,这次没办法了,不看不知道,几行配置就可以让trace输出到文本,如下:

 这里要放在system.web节后面,不知道为什么感觉没道理啊。

如果完全替换到trace似乎也不错,不过还是喜欢log4net,它也很强大,调适之前介绍下它的log类,名叫loglog,哈哈没错名字很有意思也很合适,这个是它内部记录错误的类,最终调用方法如下

private static void EmitOutLine(string message)		{			try			{#if NETCF				Console.WriteLine(message);				//System.Diagnostics.Debug.WriteLine(message);#else				Console.Out.WriteLine(message);				Trace.WriteLine(message);#endif			}			catch			{				// Ignore exception, what else can we do? Not really a good idea to propagate back to the caller			}		}

 可以看到它放到trace里去了,那么接下来只要把log4net的错误跟上面的trace搭起来就可以了。

这里要先打开log4net内部的debug功能,手动代码设置是:log4net.Util.LogLog.InternalDebugging = true;

当然也可以在配置里appsetting节加入如下代码:

<add key="webpages:Version" value="1.0.0.0"/>

这样debug信息会输出到C:\log4net.txt文件中了。

下面是我的部分错误信息:

log4net:ERROR [RollingFileAppender] ErrorCode: GenericFailure. Unable to acquire lock on file E:\WebSites\CNBlogsZzk\src\ReleaseWeb\logs\Site.log. The process cannot access the file 'E:\WebSites\CNBlogsZzk\src\ReleaseWeb\logs\Site.log' because it is being used by another process.Quartz.Impl.StdSchedulerFactory: 2012-07-18 15:26:34 [1] INFO  Quartz.Impl.StdSchedulerFactory - Default Quartz.NET properties loaded from embedded resource filelog4net: Opening file for writing [E:\WebSites\CNBlogsZzk\src\ReleaseWeb\logs\Site.log] append [True]

 

转载地址:http://ntgya.baihongyu.com/

你可能感兴趣的文章
记一个搜索网盘资源的网站
查看>>
jdk1.7和jdk1.8的String的getByte方法的差异
查看>>
java父子进程通信
查看>>
Android ADB server didn't ACK * failed to start daemon * 简单有效的解决方案
查看>>
Olap学习笔记
查看>>
Codeforces Round #431 (Div. 1)
查看>>
如何进行数组去重
查看>>
将标题空格替换为 '_' , 并自动复制到剪切板上
查看>>
List Collections sort
查看>>
Mysql -- You can't specify target table 'address' for update in FROM clause
查看>>
使用局部标准差实现图像的局部对比度增强算法。
查看>>
2017-2018-1 20165313 《信息安全系统设计基础》第八周学习总结
查看>>
《代码敲不队》第四次作业:项目需求调研与分析
查看>>
菜鸡互啄队—— 团队合作
查看>>
HttpWebRequest的GetResponse或GetRequestStream偶尔超时 + 总结各种超时死掉的可能和相应的解决办法...
查看>>
SparseArray
查看>>
第二章
查看>>
android背景选择器selector用法汇总
查看>>
[转]Paul Adams:为社交设计
查看>>
showdialog弹出窗口刷新问题
查看>>