给定Java应用程序的标准日志文件:

INFO [main] (AutoMain.java:133) - querying data 1

DEBUG [main] (AutoMain.java:142) - data 1 count: 23180

INFO [main] (AutoMain.java:151) - querying data 2

ERROR [main] (AutoMain.java:607) - Failure in auto

java.net.ConnectException: Connection refused (Connection refused)

at java.net.PlainSocketImpl.socketConnect(Native Method)

at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)

at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)

at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)

at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)

at java.net.Socket.connect(Socket.java:589)

at java.net.Socket.connect(Socket.java:538)

at java.net.Socket.(Socket.java:434)

at java.net.Socket.(Socket.java:211)

at com.myCompany.client.ClientIOFactory$1.(ClientIOFactory.java:17)

at com.myCompany.client.ClientIOFactory.lambda$clientIOFactoryFromSocket$0(ClientIOFactory.java:15)

at com.myCompany.client.queryData(Client.java:83)

at com.myCompany.client.queryData(Client.java:91)

at com.myCompany.queryOptData(InstantAutomaton.java:153)

at com.myCompany.AutoMain.main(InstantAutomaton.java:426)

什么是正则表达式,以匹配任何Java的整个堆栈跟踪

Exception

很容易匹配任何包含“exception”的单行:

grep "Exception" log.txt

但我也想要所有随后的“at”语句。所以匹配的结果字符串应该是:

java.net.ConnectException: Connection refused (Connection refused)

at java.net.PlainSocketImpl.socketConnect(Native Method)

at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)

at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)

at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)

at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)

at java.net.Socket.connect(Socket.java:589)

at java.net.Socket.connect(Socket.java:538)

at java.net.Socket.(Socket.java:434)

at java.net.Socket.(Socket.java:211)

at com.myCompany.client.ClientIOFactory$1.(ClientIOFactory.java:17)

at com.myCompany.client.ClientIOFactory.lambda$clientIOFactoryFromSocket$0(ClientIOFactory.java:15)

at com.myCompany.client.queryData(Client.java:83)

at com.myCompany.client.queryData(Client.java:91)

at com.myCompany.queryOptData(InstantAutomaton.java:153)

at com.myCompany.AutoMain.main(InstantAutomaton.java:426)

提前感谢您的考虑和回应。

给定Java应用程序的标准日志文件:INFO [main] (AutoMain.java:133) - querying data 1DEBUG [main] (AutoMain.java:142) - data 1 count: 23180INFO [main] (AutoMain.java:151) - querying data 2ERROR [main] (AutoMain.java:60...
使用正则式遇到 异常 Exception in thread "main" java .lang.StackOverflowError at java .util.regex.Pattern$GroupHead.match(Pattern. java :4166) at java .util.regex.Pattern$Branch.match(Pattern. java :4114) 运行参数设...
笔者在使用logstash做日志解析的时候,需要根据日志源(source字段)来进行判断,以何种格式进行解析。 此时source字段来源非常多,比如a,b, c,在此之下有分为很多种日志,如1,2,3.此时我的source就有 a1,a2,a3,b1,b2,b3,c1,c2,c3,如果我现在只想解析1这种类型的日志,而且我不知到之后还会引入多少个源。那么采用正则 匹配 来判断是必然的了。 正则表达式写法如下 1 首先得在首尾叫上’/’,表示这是个正则 如 [a] =~ /****/ 2 接下是几个常用的写法