Log4Net 的Log文件添加行号
来源:互联网 发布:玄机科技工资 知乎 编辑:程序博客网 时间:2024/06/01 15:19
在Log4Net记录log时,需要在log文件中记录当前log的行号,而Log4Net的%Line是输出当前语句所在的行,所以需要扩展Converter和Layout两个类。
以PatternLayout为例说明
新建两个类分别继承 PatternLayoutConverter 和 PatternLayout。两个类的实现如下:
public class LineIndexConvert : PatternLayoutConverter { private long index=1L; protected override void Convert(TextWriter writer, LoggingEvent loggingEvent) { writer.Write(index++); } } public class LineIndexLayout : PatternLayout { public LineIndexLayout() { AddConverter("LineIndex", typeof(LineIndexConvert)); } }
将代码或配置中的PatternLayout,替换成上面的LineIndexLayout,如在代码中配置如下:
LineIndexLayout patternLayout = new LineIndexLayout { ConversionPattern = "[%LineIndex]%date{yyyy-MM-dd HH:mm:ss.fff} %5level [%4thread] %message" }; patternLayout.ActivateOptions();
其中的%LineIndex是每次输出的行号,如下
[1]2017-06-19 09:17:33.408 INFO [ 12] -SetWriteCommandObjec
[2]2017-06-19 09:17:33.416 INFO [ 12] -SetWriteCommandObject
[3]2017-06-19 09:17:33.417 INFO [ 12] -SetWriteCommandObject
[4]2017-06-19 09:17:33.419 INFO [ 12] -SetWriteCommandObject
[5]2017-06-19 09:17:33.421 INFO [ 12] -SetWriteCommandObject
[6]2017-06-19 09:17:33.423 INFO [ 12] -SetWriteCommandObject
[7]2017-06-19 09:17:33.425 INFO [ 12] -SetWriteCommandObject
[8]2017-06-19 09:17:33.426 INFO [ 12] -SetWriteCommandObject
[9]2017-06-19 09:17:33.428 INFO [ 12] -SetWriteCommandObject
[10]2017-06-19 09:17:33.430 INFO [ 12] -SetWriteCommandObject
[11]2017-06-19 09:17:33.432 INFO [ 12] -SetWriteCommandObject
[12]2017-06-19 09:17:33.433 INFO [ 12] -SetWriteCommandObject
[13]2017-06-19 09:17:33.435 INFO [ 12] -SetWriteCommandObject
[14]2017-06-19 09:17:33.437 INFO [ 12] -SetWriteCommandObject
[15]2017-06-19 09:17:33.438 INFO [ 12] -SetWriteCommandObject
[16]2017-06-19 09:17:33.440 INFO [ 12] -SetWriteCommandObject
[17]2017-06-19 09:17:33.442 INFO [ 12] -SetWriteCommandObject
[18]2017-06-19 09:17:33.444 INFO [ 12] -SetWriteCommandObject
[19]2017-06-19 09:17:33.445 INFO [ 12] -SetWriteCommandObject
- Log4Net 的Log文件添加行号
- log4net 可编辑log文件的配置方法
- log4net的架构文件
- Silverlight 上的使用Log4 ,Log4Net,Log。
- Log 使用以及输出行号的方法
- log4net 使用与配置 每天一份log文件
- [Java文件操作] 为文本文件添加行号
- log4net输出错误行号配置
- Python打印log,包括行号,路径,方法名,文件
- Log4net 日志文件的操作
- 使用Log4net记Log
- log4net输出log不起作用
- android杂记--C++文件的添加log方法
- 35-关于日志Log输出插件Log4Net的总结
- 工具:去除文件的行号
- 在VIM中添加行号的方法
- 打印输入的内容并添加行号
- C# dgv添加行号的一种方法
- 搜狗浏览器F5,ctrl+F等快捷键不起作用的解决
- 3Dmax 中alt+x半透不起作用
- 安全测试APP是否开启了远程备份功能
- cassandra摘要
- Android:View点击事件
- Log4Net 的Log文件添加行号
- Leetcode Partition List
- php统计数组元素个数
- valgrind报错VEX temporary storage exhausted
- 集合基础 :List;Set;Map
- JavaScript常见基础问题汇总
- 前端开发工具--webpack的使用
- 基本数据结构之树、图
- 7个实例全面掌握Hadoop MapReduce