Log4j在一行中打印嵌套的异常



我希望kotlin项目中的log4j将多个嵌套异常记录到一行中。

例如,来自:

try {
throw IllegalArgumentException("a")
}
catch(e1: Exception) {
try {
throw IllegalStateException("a", e1)
}
catch(e2: Exception) {
log.error("Nested", e2);
}
}

我想打印log.error:"嵌套的-a-b";。

如果您正在使用PatternLayout来格式化您的输出,那么如果不进行一些自定义,目前无法将其格式化。看看ThrowablePatternConverter,它似乎可以使用增强功能来支持插件的不同格式选项。如果你愿意为此创建一个Jira问题,我会考虑为此提供支持。目前,您必须创建自己的自定义版本ThrowablePatternConverter。