首页 > 解决方案 > 在 JSON 格式的 log4j 模式布局中添加异常

问题描述

我想登录 JSON。我有以下内容log4j.properties

log4j.rootCategory=ALL,console
log4j.logger.com.demo.package=ALL,console
log4j.additivity.com.demo.package=false
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.out
log4j.appender.console.immediateFlush=true
log4j.appender.console.encoding=UTF-8
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.conversionPattern={"debug_level":"%p","debug_timestamp":"%d{ISO8601}","debug_thread":"%t","debug_file":"%F","debug_line":"%L","debug_message":"%m"}%n

我的日志语句是这样的:

log.error("SocketTimeoutException while fetching log:", e);

但这仅将消息记录在debug_message密钥 ie中SocketTimeoutException while fetching log:,并且异常堆栈跟踪记录在 json 之外的单独行中。

如何使异常成为模式的一部分。

标签: javalog4j

解决方案


推荐阅读