ide 日志 乱码

介绍

在第一部分中,我解释了测井分析的理论方法,我认为这对维持工程师是最好的。 该工程师不需要在日志出现时立即对其进行分析,而是专注于对复杂问题的深入分析。 在第二部分中,我将展示一个复杂的模板可以涵盖许多搜索方案并显示一个有效的原型。

搜索对象模板

搜索模板的主要要求是它必须是复杂的,在最佳情况下必须非常复杂。 手动搜索越少越好。 复杂的模板应完成大部分工作并快速完成。 由于我们这里没有任何服务器,因此只有预期可处理2-3 GB日志速度的开发人员PC也很重要。

主要正则表达式

模板应该声明一些正则表达式,这些正则表达式将在日志中搜索(使用Matcher.find)。 如果首先声明了多个,则收集第一个的结果,然后收集第二个的结果,等等。从最一般的意义上讲,搜索的结果是字符串数组– List <String>。

验收标准

搜索过程并不接受所有结果。 例如,工程师可以搜索除“ X”以外的所有连接类型。 然后,他或她可以创建一个接受标准并过滤掉它们。 通过指定正则表达式“除X外的任何类型”。 另一种可能性是在时间间隔内搜索。 工程师可以搜索10到12个小时之间的任何日志记录(他或她必须输入课程的完整日期)。

寻找不同的表达也是可能的。 在这种情况下,工程师会指定一个以上的正则表达式(一般情况下会指定多个)。 一个例子将更好地解释这个概念。

不同的正则表达式:

connection type (q|w) 

主正则表达式找到的日志记录:

connection type w found
connection type q created
connection type s destroyed
connection type q found

独特搜索的结果:

connection type w found
connection type q created

参量

正则表达式的问题之一是,真正有用的正则表达式非常长且笨拙。 以下是日志中的样本日期:

2018-08-06 10:32:12.234

这是它的正则表达式:

\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d.\d\d\d

解决方案非常简单–使用替代。 我称它们为正则表达式的参数。 有些参数可能像记录时间一样是静态的,但有些参数可能由用户定义。 在执行之前,立即将参数替换为实际值。

观看次数

搜索的结果是日志记录,即类似

2018-08-06 10:32:12.234 [Thread-1] DEBUG - Connection 1234 moved from state Q to state W \r?\n

虽然找到模板中定义的内容很棒,但最好将信息分成有用的部分。 例如,此表以简洁明了的方式表示该记录中的所有有用信息:

连接 1234 -> w ^

要提取这些信息,我们可以使用“查看”方法。 这意味着声明在日志记录中搜索的较小的正则表达式,并返回有关日志记录的信息。 就像该日志记录的视图一样。 在表格中显示所有内容使其更易于阅读。 表也​​可以按任何列排序。

排序与合并

使用模板进行这种搜索的最有效方法是使用线程池,并将每个线程分配给日志文件。 假设池中有3-4个线程,则搜索速度将提高3-4倍。 但是合并结果成为一个重要的问题。 这里可以有2个解决方案:

  1. 合并结果 。 我们需要确保结果按正确的顺序排列。 如果我们有3个日志文件,第一个覆盖10-12小时,第二个12-14,第三个14-17,则这些文件的搜索结果必须以相同的顺序进行。 这称为合并。
  2. 排序结果 。 除了合并它们,我们还可以按日期和时间对其进行排序。 不太复杂但简单。

合并看起来是一种更高级的技术,它使我们能够保留记录的原始顺序。

工作流程

最后的想法

在本文中达到这一点的每个人都必须困扰的问题是:是否有人试图实现所有这一切? 答案是肯定的! 有一个基于Eclipse框架的有效应用程序,其中包括Spring XML配置和许多其他内容。 搜索对象模板的工作方式如本文所述。

这是Github链接:

https://github.com/xaltotungreat/regex-analyzer-0

为什么是0? 好吧,它原本只是一个原型,但在某种程度上仍然是原型。 我称这个应用程序为REAL

[R egular
ËXpressions
分析仪 对于L OGS

假定用户具有一些如何导出Eclipse RCP应用程序或如何从Eclipse IDE中启动它的知识。 不幸的是,我没有足够的时间来编写有关它的任何好的文档。 默认情况下,它可以分析HBase日志,并且config文件夹中有很多示例。

翻译自: https://www.javacodegeeks.com/2018/11/ide-approach-log-analysis-pt-2.html

ide 日志 乱码

ide 日志 乱码_IDE日志分析方法pt。 2相关推荐

  1. ide 日志 乱码_IDE日志分析方法pt。 1个

    ide 日志 乱码 介绍 我认为大多数软件工程师都了解日志的重要性. 它们已成为软件开发的一部分. 如果无法解决问题,我们尝试在日志中查找原因. 对于一些简单的情况,当错误阻止应用程序打开窗口时,这可 ...

  2. IDE日志分析方法pt。 1个

    介绍 我认为大多数软件工程师都了解日志的重要性. 它们已成为软件开发的一部分. 如果无法解决问题,我们尝试在日志中查找原因. 对于一些简单的情况,当错误阻止应用程序打开窗口时,这可能就足够了. 您可以 ...

  3. tomcat8日志乱码_Tomcat日志中文乱码怎么解决?

    Linux系统中文语言乱码,是很多小伙伴在开始接触Linux时经常遇到的问题,而且当我们将已在Wndows部署好的项目搬到Linux上运行时,Tomcat的输出日志中文全为乱码(在Windows上正常 ...

  4. IDE日志分析方法pt。 2

    介绍 在第一部分中,我解释了日志分析的理论方法,我认为这对维持工程师是最合适的. 这位工程师不需要在日志出现时立即对其进行分析,而是专注于对复杂问题的深入分析. 在第二部分中,我将展示一个复杂的模板可 ...

  5. mysql慢查询开启及分析方法

    最近服务维护的公司的DB服务器,总是会出现问题,感觉需要优化一下了,登陆上去,发现慢查询日志都没有开,真是惭愧, 故果断加上慢查询日志,经过分析sql记录,发现问题很多,开发人员很多没有对sql优化, ...

  6. IIS日志分析方法及工具

    出处: http://xugang.cnblogs.com 日志的重要性已经越来越受到程序员的重视,IIS的日志更是不言而喻. IIS日志建议使用W3C扩充日志文件格式,这也是IIS 5.0已上默认的 ...

  7. linux日志.pdf,一种用于LINUX的AUDIT日志分析方法.pdf

    一种用于Linux的audit日志分析方法 技术领域 本发明涉及服务器技术领域,具体的说是一种用于Linux的audit日志分析方法. 背景技术 Linux内核有用日志记录事件的能力,比如记录系统调用 ...

  8. log4j日志文件乱码问题的解决方法

    log4j日志文件乱码问题的解决方法 log4j日志文件中文乱码处理方法 log4j 控制台和文件输出乱码问题解决 写在前面,第三篇文章中将原因解释的最清楚,为什么设置为UTF-8或者GBK就生效了, ...

  9. java tomcat 日志分析工具_tomcat日志集中采集、分析与展示的几种方法

    大家在做分布式web系统的时候,比如那么多个tomcat,每天都会产生很多的日志(虽然已经按小时进行日志拆分了,但日志内容还是很大,vim查日志的时候很慢),而且那么多个tomcat,每个tomcat ...

最新文章

  1. 圆圈在动吗?这个骗过人眼的动图火了,LeCun解释原理:和CNN对抗攻击类似
  2. pyqt5能否用于鸿蒙系统,PyQt显示来自opencv的视频流
  3. oracle 触发器 upsert,如何使SQLAlchemy insert与Postgres多处理proof upsert触发器一起工作?...
  4. 一个典型的SAP Commerce extension目录结构
  5. SAP Cloud for Customer图片渲染逻辑的调试
  6. java 查询日期行列转换_java中日期格式的转换和应用
  7. .net core2.1任务调度Quartz可视化管理
  8. cad卸载_CAD绘图效率太低?1GCAD逆天插件送给你,用了再也不卸载
  9. 中兴捧月2020年比赛CV方向思路
  10. Code Smell 检测工具调研
  11. TIA PORTAL博途中进行网络组态时,拓扑视图要不要组态,有什么作用?
  12. 开始编写寄几的 CSS 基础库
  13. Android 自定义View实现照片裁剪框与照片裁剪
  14. Windows浏览器无法联网,提示代理服务器没有响应
  15. Node.js七天搞定微信公众号(又名:Koa2实现电影微信公众号前后端开发)- 问题汇总
  16. Oracle数据库(索引、视图、伪列与伪表)
  17. 直播回顾丨一堂课快速上手EdgeX
  18. 计算机软件工程专业心得,非计算机专业学软件工程的一点心得体会
  19. STM32端口重映射
  20. 医院IPTV系统解决方案找点量IPTV

热门文章

  1. P6177-Count on a tree II/[模板]树分块
  2. P2710-数列【Splay】
  3. jzoj4804-[NOIP2016提高A组模拟9.28]成绩调研【指针,模拟】
  4. 2021“MINIEYE杯”中国大学生算法设计超级联赛(10)Pty loves string(Border+二维数点)
  5. SpringCloud Ribbon(二)之自定义负载均衡策略IRule
  6. 一文理解Netty模型架构
  7. 架构师必须掌握的 10 条设计原则
  8. jQuery 基础教程 (一)之jQuery的由来及简介
  9. Spring MVC常用注解,你会几个?
  10. 阿里巴巴对Java编程【应用结构】的规约