Обрезка сообщения Log4J

Я потратил уже 2 недели, пытаясь правильно настроить ответную нативную навигацию v2, поэтому не стесняйтесь попробовать мой скелет приложения: https://github.com/Cicko/react-native-app-skeleton [ 110]

, который полностью настроен и готов к разработке:)

5
задан Matt N 6 January 2009 в 16:30
поделиться

1 ответ

Усечение сделано с начала сообщения по умолчанию (отличается от printf в C, который делает это от конца).

Надлежащий шаблон должен быть:

%.-5m

Править:

Я просто попробовал это, и log4j не нравится тот шаблон. Однако предоставленный шаблон будет хорошо работать в LOGBack, если можно переключиться. Если Вы не можете переключить своего регистрирующегося поставщика, Вы могли бы сделать одноразовую модификацию к log4j. Интересный бит кода появляется на строках 75-76 из org.apache.log4j.helpers. PatternConverter:

if(len > max)
  sbuf.append(s.substring(len-max));

Это должно читать:

if(len > max)
  sbuf.append(s.substring(0,max));

Можно просто сделать модификацию и перекомпилировать банку для использования, или можно разделить PatternConverter на подклассы для выполнения надлежащего усечения. Это также потребует новой версии PatternLayout, который содержит createPatternParser метод, который необходимо будет переопределить в подклассе для инстанцирования новой версии PatternConverter.

Как примечание стороны, знать о разветвлениях лицензирования изменения открытого исходного кода в Вашем определенном проекте.

7
ответ дан 14 December 2019 в 09:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: