2015-03-19 3 views
0

Мне нужно настроить собственный формат stacktrace с помощью log4j. Если я использую свойство log4j log4j.throwableRenderer=package.ThrowableRenderer, все работает отлично. Как я могу сделать то же самое с форматом log4j.xml? Единственная статья, которую я нашел с форматом log4j.xml и ThrowableRendered, - here. Но это не работает. Свойство не устанавливает логгер, и точки останова также не работают в отладке.set ThrowableRenderer через log4j.xml

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration strict="true" status="info"> 
    <ThrowableRenderer class="package.ThrowableRenderer"/> 
    <Appenders> 
     <Appender filePattern="file{yyyy-MM-dd}.log" 
        fileName="file.log" name="logfile" type="RollingFile"> 
      <Layout type="PatternLayout"> 
       <Pattern>%d{HH:mm:ss,SSS}- %m%n</Pattern> 
      </Layout> 
      <Policies> 
       <TimeBasedTriggeringPolicy modulate="false" interval="1"/> 
      </Policies> 
     </Appender> 
    </Appenders> 
    <Loggers> 
     ... 
    </Loggers> 
</Configuration> 

Как я установил ThrowableRenderer с log4j.xml или где я могу найти документацию, чтобы прочитать об этом?

С наилучшими пожеланиями,

ответ

0

Оказалось, что log4j не поддерживает ThrowableRenderer. Вместо этого вы можете расширить ThrowablePatternConverter и создать новый ConverterKey. Послесловие просто добавьте ключ к преобразователюPattern, как

<Pattern>%d{HH:mm:ss} %m%n%YOUR_CREATED_KEY</Pattern> 
Смежные вопросы