Ограничить максимальный размер сообщения в шаблоне log4j2

В log4j 2 я хотел бы обрезать конец сообщений, записываемых в приложение консоли, когда размер превышает указанный порог.

Я просмотрел http://logging.apache.org/log4j/2.0/manual/layouts.html#PatternLayout, но не видит возможности обрезать конец поля «msg».

"%.1000msg" оставит только последние 1000 символов сообщения.

Это нехорошо для меня, потому что в Java самые внутренние кадры в трассировке стека печатаются в начале сообщения.

Есть идеи?


person dux2    schedule 16.12.2014    source источник


Ответы (2)


Я думаю, вы ищете: %.-1000м

Вот полный пример для консольного регистратора:

<Configuration status="WARN" monitorInterval="60" name="DEVELOPMENT">

  <Properties>
    <Property name="baseDir">logs</Property>
  </Properties>

  <Appenders>
    <Console name="CONSOLE">
      <PatternLayout pattern="%p{length=1} | %-10.-10t | %d{HH:mm:ss,SSS} | %.-1000m (%c{2}:%L) %n"/>
    </Console>    
  </Appenders>

  <Loggers>     
    <Root level="TRACE">
      <AppenderRef ref="CONSOLE" level="DEBUG"/>
    </Root>       
  </Loggers>

</Configuration>
person Steve S.    schedule 17.03.2016
comment
Да, он был наконец добавлен после моего запроса функции :-) - person dux2; 18.03.2016

Интересно. Я не думаю, что макет шаблона в настоящее время поддерживает это. Я рекомендую создать запрос функции в системе отслеживания проблем Log4j2: https://issues.apache.org/jira/browse/LOG4J2

person Remko Popma    schedule 17.12.2014