给定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)
提前感谢您的考虑和回应。