2014-02-03 4 views
0

У меня возникли трудности с запуском моего регистратора.log4j.properties не найдено

Мой log4j.properties файл выглядит следующим образом:

# Log levels 
log4j.rootLogger=INFO,CONSOLE,R 
# Appender Configuration 
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender 
# Pattern to output the caller's file name and line number 
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout 
log4j.appender.CONSOLE.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n 
# Rolling File Appender 
log4j.appender.R=org.apache.log4j.RollingFileAppender 
# Path and file name to store the log file 
log4j.appender.R.File=./logs/testlog.log 
log4j.appender.R.MaxFileSize=200KB 
# Number of backup files 
log4j.appender.R.MaxBackupIndex=2 
# Layout for Rolling File Appender 
log4j.appender.R.layout=org.apache.log4j.PatternLayout 
log4j.appender.R.layout.ConversionPattern=%d - %c - %p - %m%n 

Взятые из this tutorial

Когда я печатаю мой путь к классам, кажется, что "C: \ Projects \ SDK \ ресурсы" является одним из каталогов в classPath, и именно там мой файл log4j.properties.

Мой регистратор инициируется:

protected static Logger logger = Logger.getLogger("LoggerExmaple"); 

И в моей основной метод я пытаюсь:

MyClass.logger.warn("bli bla blo"); 

Но получить следующее сообщение об ошибке в консоли:

log4j:WARN No appenders could be found for logger (LoggerExmaple). 
log4j:WARN Please initialize the log4j system properly. 

И когда я пытаюсь сделать сначала

BasicConfigurator.configure(); 

Тогда мой выходной регистратор

0 [main] WARN LoggerExmaple - bli bla blo 

Мой Maven зависимость для log4j является:

<dependency> 
    <groupId>org.apache.logging.log4j</groupId> 
    <artifactId>log4j-api</artifactId> 
    <version>2.0-beta9</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.logging.log4j</groupId> 
    <artifactId>log4j-core</artifactId> 
    <version>2.0-beta9</version> 
</dependency> 

Помощь кто-нибудь? EDIT: Ответы не помогли. Кто угодно?

+0

«log4j: WARN Нет appenders не может быть найден регистратор» всегда означает, что конфигурация log4j не найден в пути к классам , Можете ли вы уточнить, что вы подразумеваете под «Когда я печатаю свой класс»? Что именно вы печатаете? Вы печатаете значение System.getProperty («java.class.path»)? – Lolo

ответ

0

я нету работал с L4J долгое время, но я думаю, что, как и с Hibernate log4j.prpperties файл должен быть помещен в каталог и т.д. внутри вашего проекта

0

Вам нужно определить WARN Appender в log4j.properties. У вас есть только INFO, CONSOLE и R appenders, и вы пытаетесь получить доступ к WARN. Попробуйте добавить эти строки в файл log4j.properties

log4j.appender.WARN=org.apache.log4j.FileAppender 
log4j.appender.WARN.File=./logs/testlog.log 
log4j.appender.WARN.layout=org.apache.log4j.PatternLayout 
log4j.appender.WARN.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n 

и изменить

log4j.rootLogger=INFO,CONSOLE,R,WARN 
+0

Тем не менее, та же проблема – Gumba

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