gpt4 book ai didi

java - 解析 Java 服务器异常日志

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:14:33 25 4
gpt4 key购买 nike

我有一个要求,我必须从 WebSphere 服务器读取所有“历史”异常日志并将它们加载到 Hive 中。下面是典型日志的样子,但消息行有时也会扩展 4-5 行。我并不真正关心堆栈跟踪,但绝对需要时间戳、ThereadId、简称、事件类型和它们各自列中的完整错误消息。

[5/20/16 22:35:39:841 CDT] 00233723 SystemOut     O 22:35:39,840 ERROR [com.xxx.app.yyy.hms.jms.receivers.impl.B2bTonnn278InReceiverImpl] 
xxxRuntimeException{errorVO=com.xxx.app.yyy.nnn.mmm.data.mmmCompleteIntakeErrorVO(diagnosesMessagesExist:false, mmmMessagesExist:false, incrementedKey:null, numPagesWithMessages:1, primaryKeyFields:[], providersMessagesExist:false, requiredFields:[], servicesMessagesExist:true, changeDateTime:05-20-2016 10:35:39:840 PM CDT, changeUserID:SYSTEM, createDateTime:null, createUserID:null, dataSecured:false, dataSecurityTypeList:null, globalMessages:[], historyID:0, messages:{procedureUnitCount=[Field For Label: procedureUnitCount Message ID: 'ERR0010', Message Arguments: '[]']}, trackChanges:false, updateVersion:-1, messages={procedureUnitCount=[Field For Label: procedureUnitCount Message ID: 'ERR0010', Message Arguments: '[]']})}
at com.xxx.app.yyy.nnn.mmm.businesslogic.impl.mmmImpl.completemmm(mmmImpl.groovy:612)
at sun.reflect.GeneratedMethodAccessor4988.invoke(Unknown Source)

我尝试通过一次读取一行并使用 Regex 进行解析来做到这一点 - 但失败得很惨(只有 20% 的数据符合 Regex),而且质量也很差。我真的不知道要在这里继续,也不知道选择什么分隔符来将该异常字符串分成列(\t 已经尝试过 - 也不起作用。)

这里有任何帮助或指向正确方向的指示吗?

最佳答案

使用 Logstash 读取和解析 WebSphere 日志并将它们发布到 Elasticsearch 以进行进一步处理(即使用 ELK Stack )。

阅读相关讨论 here .

借助 Logstash,您可以使用 Grok将任何糟糕的非结构化日志数据解析为结构化和可查询的内容。

关于java - 解析 Java 服务器异常日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38048298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com