开源:通用的日志分析工具(LogViewer)

article/2025/9/12 1:23:56

工具介绍

本工具最早是制作出来查看我的 FTL(Fast Trace Log) 二进制日志文件的, 后来因为去做Java后台,经常看 SpringBoot, Tomcat 等的日志, 就简单重构了一下, 从而支持通过正则来通用的分析日志.


LogViewer

  • 一个通用的日志查看器. 可以通过用户配置的正则表达式解析文本格式的日志文件(如 Spring-Boot, Android, iOS, Visual Studio 等的文本日志), 然后进行显示,搜索,过滤,分析等. 理论上说,只要能写出日志文件的正则表达式,即可通过这个工具分析任何一种日志格式.

功能点

  • 1.在 ini 中配置好每行日志的正则表达式(REGULAR), 即可按其解析日志, 并通过 REGMAP 部分将解析结果映射到日志的各种对应项(如 Level/PID/TID等).
  • 2.只要日志文件中有对应的内容, 即可按照 Level(日志等级), PID(进程ID), TID(线程ID) 进行分组和过滤, 支持搜索过滤等;
  • 3.自动分析出同一线程前后两条日志的耗时, 从而方便确认性能问题;
  • 4.可以按任意列进行排序.
  • 5.如果日志中有文件名/行号(Visual Studio格式), 双击日志的话,可以通过VS打开文件并定位.

日志配置

  • 0.示例文件参见 x64\Release 目录下的 Standard-SpringBoot.ini 等文件
  • 1.COMMON
    • REGULAR : 定义了一行日志的正则表达式,此为日志解析的核心部分, 推荐使用 Regex Match Tracer 等工具编写和确认正则表达式.
    • TIME_FORMAT : 定义了时间部分的格式, 目前只支持 yyyy-MM-dd HH:mm:ss.SSS 等四种格式, 配置好以后可以自动计算同一线程中前后两条日志的时间差(Elapse)
  • 2.REGMAP : 定义了正则解析出的各个分组对应日志的哪个部分, 如 ITEM_LEVEL 对应日志等级部分.
  • 3.LEVELMAP: 定义了日志等级的对应方式, 如 LEVEL_TRACE=INFO 表示日志中的 “INFO” 对应 LogViewer 中的 “Trace” 等级的日志, 可通过其进行过滤.

注意

  • 1.本程序最早是为了查看我的 FTL(Fast Trace Log) 二进制日志格式而写, 偏重于功能和显示时的性能, 界面比较丑(也没那个美术细胞去优化)
  • 2.由于一开始分析的日志都不大(也就几十M), 因此采用了主线程中将全部日志读入内存的方式, 从而快速的过滤/查找等, 因此不要直接去开几个G的 catalina.log 等.
  • 3.程序使用了我写的FTL(Fishjam Template Library)的代码. 其作为我的 学习笔记 + 内联库, 将需要的部分放了上来. 里面的东西比较杂, 而且没有放上 Demo 和 UT, 看起来会比较吃力(将就着看吧, 有问题可以联系).

TODO

  • 1.目前 PID 和 TID 的关系为并列关系, 但实际上应该为 PID > TID 的树状关系. 由于现在分析日志时几乎都会删除旧日志, 只有一个PID. 没有更改的动力.

程序主界面

主界面

下载地址

源码: fishjam/LogViewer
预编译包: x86 x64


http://chatgpt.dhexx.cn/article/eMVJ2211.shtml

相关文章

10个优秀的日志分析工具

在网络管理员的日常工作中,对日志文件的分析能够及时了解网络设备或应用的性能数据,以便及时发现问题并及时解决。分析日志文件的时候需要运用到日志分析工具,接下来就给大家分享10个优秀的日志分析工具: 1、SolarWinds Log&…

推荐几款常用的日志分析利器

1. Notepad notepad官网-notepad下载-免费开源文本编辑器-Notepad (notepadplus.com.cn)http://www.notepadplus.com.cn/ notepad是我最早使用的日志查看与分析工具。优点是体积小,打开速度快,支持全文过滤;缺点是无法跨平台,且…

多款日志分析工具,总有一款适合你

IDE vs,pycharm等等基本打开大文件都会卡死老半天,然后搜索可能也会非常卡,所以就不推荐了。 如果是Vim之类的,倒是没啥压力,大部分都随便开。 UVviewsoft LogViewer http://www.uvviewsoft.com/logviewer/ 非常强大…

potainer 日志_分享10个优秀的日志分析工具

在网络管理员的日常工作中,对日志文件的分析能够及时了解网络设备或应用的性能数据,以便及时发现问题并及时解决。分析日志文件的时候需要运用到日志分析工具,接下来小编就给大家分享10个优秀的日志分析工具: 1、SolarWinds Log&Event Manager:Windows的日志分析工具,可…

DelphiXE10.3 FMX(FireMonkey) 画图指南 非常全面

{ 相关介绍: FMX 的 Canvas 在不同的系统上会分别使用: WinVista、Win7: D2D (FMX.Canvas.D2D.pas) WinXP: GDI (FMX.Canvas.GDIP.pas) Mac 系列: Core Graphics (FMX.Canvas.Mac.pas) 和 HTML5 中的 Canvas 非常类似, 现在的 Canvas 模糊了 Pen 的概念: 之前的 Ca…

delphi xe android 黑屏,Delphi XE之路(3)解决启动时短暂的黑屏

以下转自玻璃城市的博客,已经在我手机上测试成功!不过带来一个新的问题,在手机横向时程序会停止执行??? delphi xe5 编译的程序在启动时会有短暂的黑屏出现,这个现象产生是因为启动首个activity…

android sqlite 打包 xe,Delphi XE使用SQLite3

用Delphi开发小程序,之前使用过Access数据库,但是由于Access依赖于office,感觉有些不太方便,研究一下Delphi使用SQLite3。 SQLite是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小…

Delphi XE10.4 安装AlphaControls15.12

Delphi XE10.4 安装AlphaControls15.12 1、新建一个待安装控件的目录,如:D:\vcl\AlphaControls 2、将解压包复制进该目录(XE10.4对应DX10Sydney) 3、找到与Delphi版本对应有目录:D:\vcl\AlphaControls\DX10Sydney 4、将此目录&…

delphi xe 连接 mysql_Delphi XE中使用dbExpress连接MySQL数据库疑难问题解决

Delphi IDE中包含一个Data Explorer的组件,如下图所示: 该组件基于dbExpress(包含TSQLConnection、TSQLDataSet、TSQLQuery、TSQLStoredProc、TSQLTable、TsqlServerMethod、TSQLMonitor、TSimpleDataSet)。但是因为该组件只提供了各种数据库的抽象驱动&…

Delphi XE生成UUID

UUID,是英文单词 Universally Unique Identifier 的缩写,即通用唯一识别码。 目前最广泛应用的 UUID,是微软的 Microsofts Globally Unique Identifiers (GUIDs)。 如果使用代码生成 GUID,可以使用 CreateGuid 函数,…

Delphi XE +SQLServer把图片当作文本存储

Delphi XE存储三层架构处理图片的时候,有很多问题,存储图片的时候无法使用clientDataset, LoadFromStream来保存图片。在网上找了些发现很多人有类似问题。用params来存储文字也发现有截断问题,最好的方式就是‘’‘+str+‘’‘的方式来存储。思路就是把图片转换成字符串来存…

Delphi XE11APP编译出错

今天从官网上下载了一个DELPHI XE11,但是以我的经验,每一个版本的软件安装以后,使用起来都不会那么顺利,决定从安装完以后开始,将所遇到的问题记录,如果对朋友们有帮助,那就有了意义&#xff0c…

delphi xe3 oracle,delphixe3

场景:DelphiXe3 FireMonkey 怎么画图 DelphiXe3 FireMonkey 如何画图 DelphiXe3 FireMonkey 如何画图 在Delphi的老版本中,我们使用TCanvas画布类来实现画图操作,如画线、画圆、画矩形等。在DelphiXe3中的FireMonkey,HD以及3D应用…

DelphiXE开发坑

1.字符类型不同 在 DelphiXE 之前,默认PChar是PAnsiChar。在之后PChar 是一个指向 Char 的指针,它是一个unicode字符(一个 WideChar )。而 PAnsiChar 是一个指向 AnsiChar 的指针。 2.包含同名窗体 {$R *.dfm}:含义…

DelphiXE环境认知(第一章 Project Options)

DelphiXE环境认知 作者:帅宏军 时间:2011年4月 说明:根据DelphiXE的自带帮助翻译而来,为作者个人看法,如有翻译不当,仅供参考。 shuaihj163.com http://blog.csdn.net/shuaihj 第一章、 Project…

Delphi XE开发Linux应用(一)

Delphi是我常用的开发工具,使用C语言开发Linux应用当然高效,但是对于数据库的操作等方面还是不方便,开发的速度和功能和Delphi比起来还是相差甚远。因此我选择使用Delphi XE进行Linuxde开发,Delphi xe开发Linux以下应用非常方便当…

Delphi XE 10 跨平台三层数据库应用教程

Delphi XE 开始越来越庞大,比经典的Delphi7难用,但依然是目前所有跨平台开发工具中开发效率最高、最容易上手的,其快速设计RAD理念是无与伦比的符合人性。 目前网上XE10类似教程很少,而且学习途中遇到一些问题就难以继续了&#x…

FleaPHP的单入口文件详解

在 FleaPHP 应用程序使用 MVC 模式时&#xff0c;应用程序的所有功能都通过一个单一的文件来调用。这种通过单一文件来执行所有功能的应用程序&#xff0c;称为单一入口应用程序。 该文件通常放在程序主目录下。其代码如下所示&#xff1a; Php代码 <?php /** * 入口…

介绍国产的PHP MVC框架:FleaPHP

国产的PHP MVC框架&#xff1a;FleaPHP 官方网站&#xff1a;http://www.fleaphp.org框架下载&#xff1a;http://www.fleaphp.org/download框架API &#xff1a;http://www.fleaphp.org/docs/api/index.html开发指南&#xff1a;http://www.fleaphp.org/guide框架社区&#…

FleaPHP 开发指南 - 7. 数据表关联

数据表关联是指两个或者多个数据表的记录之间的逻辑关系。 例如&#xff1a; 每一个公民都有一个身份证号码 每一位作者都写了多本&#xff08;0-n&#xff09;书籍&#xff0c;而每一本书籍都有多个&#xff08;1-n&#xff09;作者 每一篇文章都有多个&#xff08;0-n&…