java – commons-logging和log4j属性文件

我试图通过commons-logging使用log4j,如果log4j属性文件不被称为log4.properties,则会遇到问题.

我得到以下错误:

log4j:WARN没有找到记录器的追加者(LogMePlease).

log4j:WARN请正确初始化log4j系统.

我的代码很简单:

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class LogMePlease 
{
static Log l = LogFactory.getLog(LogMePlease.class);

public static void main(String [] args)
{
    l.warn("Hello World!");
}
}

在我的课程路上,我有:
commons-logging.properties文件包含以下条目

org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
log4j.configuration=log4j-test.properties


log4j-test.properties文件

当我运行这个代码我得到

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

如果我将log4j-test.properties文件重命名为log4j.properties,那么一切正常.
所以,问题是如何设置公用日志记录以使用log4j.properties文件的任意名称.

解决方法

文件commons-logging.properties只能从公用日志记录中读取,而log4j将在系统属性中查找log4j.configuration.

因此,您必须在命令行中使用-Dlog4j.configuration = log4j-test.properties指定它们作为JVM选项,或者在首次调用任何日志记录方法(通常很难实现)之前必须调用System.setProperty() ).

注意:如果可以,使用XML配置log4j.xml;它对于配置log4j要简单而强大.

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。