Давайте иметь трассировку стека Exception с несколькими разделами «вызвано»:
my.Exception1: Bad luck
at ...
Caused by: my.Exception2
at ...
Caused by: my.Exception3
at ...
Caused by: my.Exception4
at ...
каждый из разделов, вызванных разделом, может занимать несколько строк. Существует параметр JVM
-XX:MaxJavaStackTraceDepth
, но он влияет на трассировку стека в целом - он вырезает все, что ниже, например Exception3 (самое внутреннее исключение будет отключено). Я хотел бы сохранить каждый раздел «вызвано», но ограничить каждую часть, например, 20 строками. Одно из возможных решений, о котором я знаю, - это ThrowableRenderer из log4j. Есть еще что-нибудь? Цель состоит в том, чтобы сохранить как можно больше полезной информации из трассировок стека в ограниченной среде (максимальный размер в байтах для одной записи журнала).