C#使用正则表达式读取log4net日志文件
来源:互联网 发布:我的体育老师 知乎 编辑:程序博客网 时间:2024/04/30 05:27
2014-02-11 14:32:00,341 [6] INFO LOGGER [(null)] - HELLO WORLD.2014-02-11 14:32:04,431 [1] INFO LOGGER [(null)] - LOG TEXT.2014-02-11 14:32:04,433 [1] INFO LOGGER [(null)] - THIS IS A VERY LONG TEXT.2014-02-11 14:32:37,197 [1] INFO LOGGER [(null)] - BYE.
log4net可以输出形如上面的文本日志。
可以使用下面的方法进行读取:
DataTable dt = new DataTable();dt.Columns.AddRange(new[] { new DataColumn("TIME"),new DataColumn("THREAD"),new DataColumn("PRIORITY"),new DataColumn("LOGGER"),new DataColumn("MESSAGE"),});//读取文件string s = "";using(FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)){using(StreamReader sr = new StreamReader(fs, System.Text.Encoding.Default)){s = sr.ReadToEnd();} }//正则表达式匹配,注意RegexOptions.RightToLeftvar matches = Regex.Matches(s, @"(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2},\d{3}) \[(\d+)] ([A-Z, ]{5}) ([A-Z,a-z,0-9, ]+).*?- ([\s\S]*?)", RegexOptions.RightToLeft);foreach (Match m in matches){var time = m.Groups[1].Value;var thread = m.Groups[2].Value;var priority = m.Groups[3].Value;var logger = m.Groups[4].Value;var msg = m.Groups[5].Value;var dr = dt.NewRow();dr.ItemArray = new[] { time, thread, priority, logger, msg };dt.Rows.InsertAt(dr, 0);}
0 0
- C#使用正则表达式读取log4net日志文件
- 使用Log4Net - 文件日志
- C# WinForm使用log4net日志
- C#使用Log4Net记录日志
- C#使用Log4Net记录日志
- C#使用Log4Net记录日志
- C#使用Log4Net记录日志
- C#使用Log4Net记录日志
- C#使用Log4Net记录日志
- C#使用Log4Net记录日志
- C#使用Log4Net记录日志
- C#使用Log4Net记录日志
- C#使用Log4Net记录日志
- C#使用Log4Net记录日志
- C#使用Log4Net记录日志
- C#使用Log4Net记录日志
- C#使用Log4Net记录日志
- C#使用Log4Net记录日志
- 网络编程常见问题
- Hive中partition如何使用
- 数据库mssql数字格式与字符格式转换
- IMEI为TAC + FAC + SNR + SP(国际移动台识别码)
- VC6.0工程设置介绍
- C#使用正则表达式读取log4net日志文件
- setiosflags作用
- java 遍历map最简单的方法
- PDF转换JPG【顶】(jacob调用adobe动态库)
- 安装Homebrew,vim in Mac
- Android中SDK安装出错Failed to fectch URl https://dl-ssl.google.com/android/repository/addons_list.xml
- AsyncTask(笔记)
- 演示如何使用微软的CAPICOM组件
- eclipse的常用的设置