使org.apache.commons.logging写入文件

时间:2018-08-12 05:12:18

标签: java maven log4j

我正在使用Kinesis Client Library,它使用的是org.apache.commons.logging。当前,它在终端上打印所有内容。我想让日志改写成文件。

我发现了这个问题Write log file using org.apache.commons.logging,并尝试执行以下步骤。但是我在指定的路径中看不到日志文件。

这就是我所做的:

首先,我在commons-logging.properties文件夹中添加了两个配置文件log4j.propertiesconsumer/src。我的TestLog.java文件在consumer/src/java中。

在commons-logging.properties文件中:

org.apache.commons.logging.Log = org.apache.commons.logging.impl.Log4JLogger

在log4j.properties文件中:

handlers=java.util.logging.ConsoleHandler, java.util.logging.FileHandler
.level=SEVERE
sample.logging.level=FINE
java.util.logging.ConsoleHandler.level=ALL
java.util.logging.FileHandler.level=ALL
java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
java.util.logging.FileHandler.pattern=/Users/XXX/src/MyKinesis/firstlog

这是我的TestLog.java文件

导入org.apache.commons.logging.Log; 导入org.apache.commons.logging.LogFactory;

public class TestLog {

    private static Log log = LogFactory.getLog(TestLog.class);
    public static void main(String[] args) {
        log.info("Testing Info Message.");
        if (log.isDebugEnabled()) {
            System.out.println("HERE");
            log.debug("Testing Debug Message.");
        }
    }
}

我通过

执行了此操作

mvn exec:java -Dexec.mainClass="TestLog" -Djava.util.logging.config.file=~/src/MyKinesis/stockStream/src/log4j.properties

~/src/MyKinesis/stockStream/src/log4j.properties是我存储log4j.properties文件的路径)

但是我没有在/Users/XXX/src/MyKinesis/firstlog上找到日志文件。控制台中也没有输出。这是为什么?

任何建议将不胜感激!

0 个答案:

没有答案