使用 java.util.logging 进行 Commons 日志记录
我正在尝试使用公共日志记录并希望使用 java.util.logging 作为底层机制。
LogTest.java
import org.apache.commons.logging.*;
public class LogTest {
public static void main(String args[]) {
System.setProperty("java.util.logging.config.file","log.properties");
Log logger = LogFactory.getLog(LogTest.class);
logger.trace("trace msg");
}
}
我有 src/main/resources/log.properties (我正在使用 maven 项目)
handlers=java.util.logging.ConsoleHandler
# Default global logging level.
# Loggers and Handlers may override this level
.level=ALL
我看不到任何输出。 请告诉我如何以编程方式设置 log.properties 以利用 java 日志记录。
I am trying to use commons logging and want to use java.util.logging as underlying mechanism.
LogTest.java
import org.apache.commons.logging.*;
public class LogTest {
public static void main(String args[]) {
System.setProperty("java.util.logging.config.file","log.properties");
Log logger = LogFactory.getLog(LogTest.class);
logger.trace("trace msg");
}
}
I have src/main/resources/log.properties ( I am using maven project )
handlers=java.util.logging.ConsoleHandler
# Default global logging level.
# Loggers and Handlers may override this level
.level=ALL
I am not able to see any output.
Please tell me how to programatically set the log.properties to leverage java logging.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您需要指定一个实现 Log 接口的记录器。在本例中,为 Jdk14Logger。
查看如何使用“Apache Commons Logging” '与'Java SE Logging'?了解更多详细信息。
除了链接之外:
然后将
log-config.properties
放入类路径中并进行相应配置。如果您决定将来更改 impl,更多开箱即用的记录器。
You need to specify a logger that implements the Log interface. In this case, the Jdk14Logger.
Check out How to use 'Apache Commons Logging' with 'Java SE Logging'? for more details.
Except from link:
Then put
log-config.properties
in your classpath and configure accordingly.If you decide to change impls in the future, more loggers are available out of the box.
尝试在 log.properties 中添加
java.util.logging.ConsoleHandler.level=ALL
。Try adding
java.util.logging.ConsoleHandler.level=ALL
in your log.properties.在类路径中创建 commons-logging.properties:
在 Logger 实例之前设置 java.util.logging.config.file:
那么 JDK 日志记录将是 appender org.apache.commons.logging.* 使用的所有日志;
例如:spring、hibernate、struts 等。
create commons-logging.properties in your classpath:
set java.util.logging.config.file before you instance of Logger:
then the JDK logging will be appender all logs which used by org.apache.commons.logging.*;
example: spring, hibernate, struts etc.
虽然 Snekse 的答案基本上是正确的,但有一点需要纠正/澄清:
While Snekse's answer is basically correct, there is one point to correct/clarify: