Предупреждение 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, добавьте другие строки и попробуйте. Это может сработать!