2013-11-25 5 views
0

Я попытался использовать log4j для моего легкого проекта.log4j не создает файлы журнала

Все выходные данные на консоли работают нормально. Но выход в файлы с созданием файла журнала не работает.

Log4j.xml

<!-- Appenders --> 
    <!-- Loggin into console --> 
    <appender name="console" class="org.apache.log4j.ConsoleAppender"> 
     <param name="Target" value="System.out" /> 
     <layout class="org.apache.log4j.PatternLayout"> 
      <param name="ConversionPattern" value="%-5p: %c - %m%n" /> 
     </layout> 
    </appender> 

    <appender name="file" class="org.apache.log4j.RollingFileAppender"> 
     <param name="append" value="false" /> 
     <param name="file" value="demoApplication.log" /> 
     <param name="DatePattern" value="'.'yyyy-MM-dd" /> 
     <layout class="org.apache.log4j.PatternLayout"> 
      <param name="ConversionPattern" value="%d [%t] %-5p (%F:%L:%M) %c{1} - %m%n" /> 
     </layout> 
    </appender> 

    <!-- Root logger --> 
    <root> 
     <priority value="info" /> 
     <appender-ref ref="file" /> 
     <appender-ref ref="console" /> 
    </root> 

    <!-- Application Loggers --> 
    <logger name="com.softserve.edu"> 
     <level value="info" /> 
    </logger> 

</log4j:configuration> 

Вот мой проект struckture:

enter image description here

Почему это происходит? Для меня все должно работать нормально.

Любые предложения?

+0

Попробуйте обновить свой проект. Кроме того, вы запускаете его через Eclipse? –

+0

@SotiriosDelimanolis, конечно, под затмением. Обновление не работает. –

ответ

0

Поскольку вы используете относительный путь,

<param name="file" value="demoApplication.log" /> 

ищет файл в следующем месте:

System.out.println(System.getProperty("user.dir") + File.separator + 
        "demoApplication.log"); 

Вы также можете использовать абсолютные пути. Кроме того, убедитесь, что у вас есть права на запись в папке назначения.

+0

Под окнами все должны работать с разрешением по умолчанию. Что означает 'user.dir'? Я вышел для упрощения, но гораздо лучше поставил регистраторы в папку «logs». –

+0

С 'System.getProperty (« user.dir »)' вы получаете рабочий каталог для Java. См. [Свойства системы] (http://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html). –

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