2015-09-03 4 views
2

У меня возникают проблемы при создании файлов журнала за пределами JAR.Как создать файл журнала с помощью logback.xml за пределами JAR?

Project Structure 

./ – the root of my project 
|__ api.jar (logback.xml inside this jar) 
|__ /logs 
    |__ (log files need to be generated) 

У меня есть следующая конфигурация в logback.xml.

<configuration> 
<appender name="FILE" 
    class="ch.qos.logback.core.rolling.RollingFileAppender"> 

    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
     <!-- daily rollover --> 
     <fileNamePattern>./logs/filename.%d{yyyy-MM-dd}.%i.log 
     </fileNamePattern> 
     <timeBasedFileNamingAndTriggeringPolicy 
      class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> 
      <maxFileSize>5MB</maxFileSize> 
     </timeBasedFileNamingAndTriggeringPolicy> 
     <!-- keep 30 days' worth of history --> 
     <maxHistory>30</maxHistory> 
    </rollingPolicy> 

    <append>true</append> 
    <encoder> 
     <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n 
     </pattern> 
    </encoder> 
</appender> 
</configuration> 

Файлы журнала не создаются внутри папки журналов, которая находится в моей корневой папке проекта.

Заранее спасибо ...

+0

Вы пытались положить его просто в ту же папку, что и api.jar, а не внутри банки? Мне кажется, что положить его в банку не так уж и много - вы не сможете редактировать его во время выполнения ... – Fildor

+0

Спасибо за ваш ценный комментарий. Мне просто не нужно редактировать logback.xml во время выполнения. Позвольте мне попробовать, и я вернусь. –

+0

Как запустить приложение? Он может быть сгенерирован в папке, в которой вы работаете. – Koby

ответ

0

Я просто пытался запустить мою программу с примером, вы в курсе, и он произвел журнал все в порядке. Есть много способов, как это может пойти не так в вашем случае. У меня есть некоторые предложения.

  • Вы уверены, что используете приложение из корня проекта? Если нет, файл журнала будет создан в другом месте.

Что у вас на пути к классу?

  • Если есть logback.groovy или Logback-test.xml где-нибудь на пути к классам, он будет иметь приоритет и ваш logback.xml будут игнорироваться.

  • То же самое для другого logback.xml, который найден раньше вашего.

Смежные вопросы