当我使用log4j时
log.error("Exception message", ex);
我看到了类似这样的东西
sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:3391) ~?:1.8.0_171 at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:3391)
的~?:1.8.0_171
为什么我在每一行的末尾看到java版本,我如何摆脱它?有些行还会有其他信息,比如脚本开始的路径。
发布于 2018-09-25 21:01:23
在使用log4j时,您需要提供一个描述“模式”的配置,该“模式”描述如何格式化每条“日志消息”。该模式的一部分可以在记录可抛出对象时控制堆栈跟踪的格式。如果您没有为可抛出对象提供显式格式,它将使用默认格式,即按照您的示例添加JVM版本后缀。
这是一个删除了默认后缀的模式布局。
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n %ex{suffix()}"/>
详情可在此处查看- https://logging.apache.org/log4j/2.x/manual/layouts.html。
https://stackoverflow.com/questions/52505266
复制