将log4j添加到我的应用程序后,每次执行我的应用程序时,都会得到以下输出:
log4j:WARN No appenders could be found for logger (slideselector.facedata.FaceDataParser). log4j:WARN Please initialize the log4j system properly.
看来这意味着缺少配置文件。此配置文件应位于何处,什么是良好的入门内容?
我使用纯Java开发桌面应用程序。因此没有网络服务器等…
Log4j默认情况下,在classpath上查找名为log4j.properties或的文件log4j.xml。
Log4j
classpath
log4j.properties
log4j.xml
您可以按照此处所述通过设置系统属性来控制它用来初始化自身的文件(查找“默认初始化过程”部分)。
例如:
java -Dlog4j.configuration=customName ....
将导致log4j在类路径上查找名为customName的文件。
log4j
customName
如果您遇到问题,我发现打开log4j.debug会有所帮助:
log4j.debug
-Dlog4j.debug
它将向System.out打印很多有用的信息,包括它用来初始化自身的文件,配置的记录器/附加器以及如何使用的信息。
配置文件可以是Java属性文件或xml文件。这是从log4j简介文档页面获取的属性文件格式的示例:
log4j.rootLogger=debug, stdout, R log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout # Pattern to output the caller's file name and line number. log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n log4j.appender.R=org.apache.log4j.RollingFileAppender log4j.appender.R.File=example.log log4j.appender.R.MaxFileSize=100KB # Keep one backup file log4j.appender.R.MaxBackupIndex=1 log4j.appender.R.layout=org.apache.log4j.PatternLayout log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n