我正在使用Kinesis Client Library,它使用的是org.apache.commons.logging。当前,它在终端上打印所有内容。我想让日志改写成文件。
我发现了这个问题Write log file using org.apache.commons.logging,并尝试执行以下步骤。但是我在指定的路径中看不到日志文件。
这就是我所做的:
首先,我在commons-logging.properties
文件夹中添加了两个配置文件log4j.properties
和consumer/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
上找到日志文件。控制台中也没有输出。这是为什么?
任何建议将不胜感激!