我正在为我的项目使用log4j2,但是当发生异常时,会出现~[classes/:?]
或~[?1.8.0_162]
等符号。我想知道这些语法如何以及如何在记录时删除这些符号~[?: ]
?
感谢。
java.net.SocketTimeoutException: connect timed out
at java.net.PlainSocketImpl.socketConnect(Native Method) ~[?:1.8.0_162]
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[?:1.8.0_162]
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[?:1.8.0_162]
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[?:1.8.0_162]
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[?:1.8.0_162]
at java.net.Socket.connect(Socket.java:589) ~[?:1.8.0_162]
at com.proxy.client.ProxyClientFactory.connect(ProxyClientFactory.java:23) ~[classes/:?]
以下是我的log4j2.xml
的一部分 <Routing name="ConsoleLog">
<Routes pattern="$${ctx:threadName}">
<Route>
<File name="consoleLog" fileName="${ctx:threadName}/console.log" >
<RegexFilter regex=".*(html|div|table).*" onMatch="DENY" onMismatch="ACCEPT" />
<PatternLayout pattern="${LOG_MSG_PATTERN}" />
</File>
</Route>
</Routes>
</Routing>
答案 0 :(得分:0)
该行末尾的符号(即:~[?:1.8.0_162]
)称为“packaging data”,您需要配置log4j布局以将其删除。
我假设您的LOG_MSG_PATTERN
包含启用此功能的xEx
,xException
或xThrowable
。用ex|exception|throwable
或rEx|rException|rThrowable
替换该模式项应该将其删除。
有关布局的更多信息,您可以在此处查看log4j2文档: