# LogView-Windows 调试信息 文件日志 搜集分析工具 **Repository Path**: lougd/logview ## Basic Information - **Project Name**: LogView-Windows 调试信息 文件日志 搜集分析工具 - **Description**: LogView-Windows 调试信息 日志 嗅探分析工具 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 3 - **Created**: 2020-11-28 - **Last Updated**: 2024-11-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LogView-Windows系统本地调试日志捕获工具 ``` Windows平台日志嗅探工具,可以方便的嗅探本本地的调试信息,包括像DbgView一样捕获系统函数OutputDebugString 输出的调试信息以及输出到日志文件的调试信息。 该日志工具的主要特色功能: 1.小巧绿色,只有一个可执行文件,没有额外的依赖,运行速度快. 2.日志数据全部保存到内存里,提供简洁易用的日志检索语句随时进行检索(DbgView过滤后不合规则的数据就扔掉了)。 3.实时探测指定文件夹下所有的日志文件变化,并实时展示到日志页面。 4.漂亮的语法高亮展示,不同的高亮颜色区分检索语句中不同的关键字。 5.支持日志内容数据格式化展示,对日志中包含的json等格式化数据可以进行格式化展示。 ``` ![输入图片说明](https://images.gitee.com/uploads/images/2021/0328/143743_506257d1_498054.png "test1.png") #### 软件架构 ``` 主要模块: LogLib子模块:主要的通用库组件,是所有组件通用的动态库。 LogSniff子模块:跨平台日志嗅探组件,linux系统组件尚未完全实现 LogView:主功能模块,日志展示层和本地日志获取模块 1.OutputDebugString调试信息的捕获和DbgView原理类似,通过系统创建的共享内存块获取OutputDebugString输出的调试内容。 2.文件日志探测是通过ReadDirectoryChangesW接口配合完成端口实现的高效文件变化探测。 3.日志展示界面用的notepad++同款scintilla控件,用于日志内容和高亮关键字的展示。 ``` 代码UML类图 日志数据收集类图: ![输入图片说明](https://images.gitee.com/uploads/images/2021/0328/150023_1835cc1b_498054.png "LogView日志采集类图.png") 日志展示层类图: ![输入图片说明](https://images.gitee.com/uploads/images/2021/0328/150058_9847a9d0_498054.png "LogView日志展示层.png") #### 使用说明 无需安装,只有一个绿色的可执行文件,打开就能使用,如果使用日志监控需要在配置选项输入日志文件所在的路径。 配置选项页面:设置日志文件所在目录,设置完成后就可以监控该目录下的所有日志文件,并实时在文件日志界面中展示出来。 调试输出页面:类似DbgView展示程序通过OutputDebugString输出的调试信息。 文件日志页面:展示文件日志输出的信息。 文件检索页面:从配置页面配置的目录的所有日志文件中检索内容。 日志信息过滤规则: eg: ``` keyword1 // 保留单条日志中包含keyword的日志 keyword1 && keyword2 // 保留单条日志中同时包含keyword1和keyword2的日志 keyword1 || keyword2 // 保留单条日志中包含keyword1或者keyword2的日志 !keyword // 保留单条日志不包含keyword的日志 keyword1 && (keyword2 || keyword3) // 保留单条日志包含keyword1并且包含keyword2或者keyword3的日志 ``` #### 编译说明 本日志工具使用vs2008编译,通过vs2008打开根目录下的LogSniff.sln文件即可编译。