2016-10-25 1 views
-1

Я хотел бы иметь журнальные сообщения, показанные тремя способами:
- на консоли
- на лог один файл/журналы/файл log.log
- на ежемесячный измененном файле журнал вид/журналы/срубы 201610.log
Настройка log4j 2 с помощью XML

Я написал эту конфигурацию (используя другие вопросы здесь и несколько источников, я не могу найти):

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration> 
    <Appenders> 
     <Console name="console" target="SYSTEM_OUT"> 
      <PatternLayout pattern="%d{HH:mm:ss,SSS} [%t] %-5level %logger{36} - %msg%n" /> 
     </Console> 
     <File name="basic" fileName="log/log.log"> 
      <PatternLayout 
       pattern="%d{dd/MM/yy HH:mm:ss,SSS} [%t] %-5level %logger{36} - %msg%n" /> 
     </File> 
     <RollingFile name="RollingFile" fileName="log/logs/app.log" 
      filePattern="log/logs/log-%d{yyyyMM}.log"> 
      <PatternLayout> 
       <Pattern>"%d{HH:mm:ss,SSS} [%t] %-5level %logger{36} - %m%n"</Pattern> 
      </PatternLayout> 
      <Policies> 
       <TimeBasedTriggeringPolicy /> 
      </Policies> 
     </RollingFile> 
    </Appenders> 
    <Loggers> 
     <Root level="ALL"> 
      <AppenderRef ref="console" /> 
     </Root> 
     <Logger name="sistema" level="ALL" additivity="true"> 
      <AppenderRef ref="basic" /> 
     </Logger> 
     <Logger name="sistemabis" level="ALL" additivity="true"> 
      <AppenderRef ref="RollingFile" /> 
     </Logger> 
    </Loggers> 
</Configuration> 

Это, кажется, работает должным образом (Безразлично» t дают ошибки), но я получаю пустой файл в log/logs/app.log , В моем файле dependencies.xml у меня есть следующее:

<dependency org="org.apache.logging.log4j" name="log4j-api"   rev="2.5" transitive="false"/> 
    <dependency org="org.apache.logging.log4j" name="log4j-core"   rev="2.5" transitive="false"/> 

но я боюсь, что я все еще что-то пропущу.
Скорее всего, в один прекрасный день я удалю ведение журнала в одном полном файле (так что мне нужно будет различать приложения). Нет необходимости в размере.
Где я ошибаюсь?

EDIT: в соответствии с тем, что я прочитал в комментариях, я отредактирован, чтобы показать ситуа

+0

Я не уверен, что синтаксис верен для «appender», не должен ли он быть здесь «File» или «RollingFile»? Вы должны взглянуть на документацию: https://logging.apache.org/log4j/2.x/manual/appenders.html#RollingFileAppender –

+0

Я добавил некоторые дополнительные материалы из-за ваших предложений. Но я все еще не могу заставить его работать правильно. – SamCle88

+0

Странно, попробовали ли вы точный пример из инструкции log4j2? Какую версию loj4j2 вы используете? –

ответ

0

Согласно комментариям, я модифицированную зависимости и заменить некоторые строки в файле конфигурации:

<Pattern>%d{dd/MM/yy HH:mm:ss,SSS} [%t] %-5level %logger{36} - %msg%n</Pattern> 

    <Logger name="sistema" level="ALL" additivity="true"> <!-- name è il nome del pacchetto radice da cui prendere. --> 
     <AppenderRef ref="basic" /> 
     <AppenderRef ref="RollingFile" /> 
    </Logger> 

, кажется, работать должным образом. 1 ноября я узнаю об этом больше.