Предупреждение log4j на консоли

У меня есть файл log4j.properties, как показано ниже:

log4j.rootLogger=WARN, DebugAppender

#Debug logging
log4j.appender.DebugAppender=org.apache.log4j.RollingFileAppender
log4j.appender.DebugAppender.Threshold=WARN
log4j.appender.DebugAppender.File=activityLog.log
log4j.appender.DebugAppender.MaxFileSize=200KB
log4j.appender.DebugAppender.MaxBackupIndex=5
log4j.appender.DebugAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.DebugAppender.layout.ConversionPattern=%d{DATE} %t - %m%n

Файл добавляется в classpath и в папку src/resources.... мой проект - проект maven, и я использую технологию springshell, так что мое приложение запускается из командной строки... все работает отлично, но когда я выполняю определенный Команда в моем приложении дает мне следующее предупреждение:

 log4j:WARN No appenders could be found for logger (com.gedas.rvs.data.net.ClientAuthenticationType).
 log4j:WARN Please initialize the log4j system properly.
 log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

Не могли бы вы помочь мне с тем, что я делаю не так?

2 ответа

Вы определяете appender (вы объясняете log4j, куда и как писать сообщения), но вы не определяете, какие категории ("имя", присвоенное регистраторам в вашей программе) должны его использовать.

Это говорит log4j, что все категории (rootLogger) следует использовать DebugAppender для написания сообщений серьезности DEBUG или выше

# Root logger option
log4j.rootLogger=DEBUG, DebugAppender

Кроме того, если у вас есть регистратор под названием example.org.MyClassВы можете добавить

log4j.example.org.MyClass=INFO, DebugAppender

или же

log4j.example.org=INFO, DebugAppender

отправлять INFO и выше сообщения для заявителя.

Кажется, для этого требуется файл appender. проверьте файлы журнала еще раз. Вот мой файл свойств журнала, посмотрите.

# Root logger option
log4j.rootLogger=DEBUG, file

# Redirect log messages to console
#log4j.appender.stdout=org.apache.log4j.ConsoleAppender
#log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

# Redirect log messages to a log file, support file rolling.
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\\log4j-application.log
log4j.appender.file.MaxFileSize=5MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

log4j.logger.org.hibernate.hql=debug
log4j.logger.org.hibernate.type=trace

Вместо того, чтобы только отлаживать appender, добавьте другие строки и попробуйте. Это может сработать!

Другие вопросы по тегам