SLogViewer是一个基本开源界面库SOUI开发的开源的通用的高性能LOG分析工具, 轻松支持上百万行级别的LOG过滤. 支持LOG格式配置. 只要是固定格式的LOG理论上均可以支持.git
下载: http://pan.baidu.com/s/1nuHISOD (1.2M)github
源代码: https://github.com/soui2/soui. 工具
获取源代码后完整编译, 在demos/SLogViewer里能够找到.性能
主界面分为4个区:ui
1区提供了tag, pid, tid的列表, 清除选择能够过滤指定的列表项.编码
2区是LOG的全文.code
3区是功能区, 级别下拉窗口能够调整显示的LOG级别, 过滤设置支持多关键词过滤, 关键词间使用"|"分隔. 例如: test|-test2 ,这个过滤条件表明过滤包含test可是不包含test2的log记录.orm
4区是LOG列表显示区, 过滤条件只影响4区,不影响2区.blog
SLogViewer使用一个配置格式表来支持不一样的log格式.开发
打开配置表, 能够看到内置了3种格式. 下面对格式作一个简单说明.
每一种格式是logs结点下的一个log结点.
每一种格式有两个属性:name, codepage. name就是LOG的一个名称, 只要在配置列表中惟一便可. codepage表明的是log的编码. 这里为了编码简单, 使用了API里的数值. 例如 65001表明的是CP_UTF8
第一个格式有两个子节点: levels, format.
levels表明LOG中包含的LOG level, 使用","分隔.
format是配置的重点, 表明的是每一行LOG的格式. SLogViewer内置了$(time), $(pid), $(tid), $(level), $(tag), $(content), $(file), $(module), $(function), $(line), $(package), $(unknown) 这些列. 每一列能够使用[x]指定一个最小列宽, 例如$(time[23])表明time这一列最少要占用23个字符. 若是一种LOG格式中包含上面没有支持的列, 能够使用$(unknown)来忽略显示, 以便保证格式解析正确.