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

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

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

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

Ответы [ 5 ]

2 голосов
/ 08 мая 2009

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

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

1 голос
/ 22 февраля 2012

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

1 голос
/ 29 мая 2009

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

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

0 голосов
/ 08 мая 2009

Вы можете написать собственный Appender, который имеет специальную логику, которая вам нужна. Это может быть хороший путь.

0 голосов
/ 08 мая 2009

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

  1. Найдите библиотеку или код, который сделал кто-то еще
  2. Пишите сами (расширяйте / внедряйте)
  3. Использовать макет по умолчанию, но обрезать стек исключения перед передачей его в логгер
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...