2

我的 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

该文件被添加到类路径和 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.

你能帮我看看我做错了什么吗?

4

2 回答 2

1

您正在定义一个附加程序(您正在解释 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及以上消息。

于 2015-09-01T07:36:23.050 回答
0

看来它需要文件附加程序。再次检查日志属性文件。这是我的日志属性文件,看看。

# 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

除了调试附加程序之外,还添加其他行并尝试。它可能工作!

于 2015-09-01T07:16:16.363 回答