Существует ли Log4J Layout / Formatter, который обрезает трассировки стека для исключений?

StackOverflow https://stackoverflow.com/questions/837320

  •  10-07-2019
  •  | 
  •  

Вопрос

Я ищу Log4J Layout / Formatter, который помогает мне обрезать трассировки стека в исключениях, немного лучше, чем значения по умолчанию. То, что выполнение стека находится где-то ниже main (), совершенно очевидно и мне не нужно знать, и что исключение произошло глубоко внутри какой-то другой библиотеки, на самом деле я ничего не могу с этим поделать.

Я хотел бы, чтобы макет обрезал трассировку стека, скажем, за последние 5 вызовов методов метода в моем собственном коде, идентифицированные с помощью jar-файла, пакета или чего-то еще.

Есть ли что-то в этом роде, или я сам должен написать магию?

Это было полезно?

Решение

Я тоже пытался найти это, но не нашел ничего удовлетворительного, поэтому я написал собственный ThrowableRenderer, который удаляет посторонние кадры стека. Я открыл исходный код для использования другими. Посмотрите на мой блог ; Вы можете найти ссылку на код там.

Другие советы

Я задал похожий вопрос (о полное подавление трассировки стека некоторое время назад.

К сожалению, для этого нет настроек, для этого нужно создать подкласс PatternLayout.

"ex" или "исключение" Слово преобразования в logback-classic (преемник log4j) поддерживает печать указанного количества строк трассировки стека. "Ex" слово конверсии задокументировано с помощью остальных слов конверсии . Вам нужно немного прокрутить вниз.

Если вам нужна дополнительная информация по этой теме, обратитесь в список рассылки logback-пользователя.

Есть три способа сделать это:

<Ол>
  • Найдите библиотеку или код, который сделал кто-то другой
  • Напишите это самостоятельно (расширьте / внедрите)
  • Используйте макет по умолчанию, но обрежьте стек исключения, прежде чем передавать его в регистратор
  • Вы можете написать собственный Appender, который имеет специальную логику, которая вам нужна. Это может быть хорошим способом.

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top