java - 仅指定一些包具有调试输出

标签 java log4j

我想记录我的 web 应用程序的一些行为,该应用程序还实现了 hibernate、spring 等。当我尝试从 apache 实现 log4j 记录器时,我遇到了一些麻烦。

当我打开记录器时,它也在调试我不想要的 hibernate 和 Spring 。我尝试配置属性文件以指定我的项目包,但它不起作用。

这是我的属性文件代码:

log4j.rootCategory=ERROR, O
log4j.category.com.my.package= DEBUG, FILE, O
log4j.appender.FILE=org.apache.log4j.RollingFileAppender
log4j.appender.FILE.File=log/logger.log
log4j.appender.O=org.apache.log4j.ConsoleAppender
.... and some layout

它在我切换 rootCategory = DEBUG 时有效,但正如我所说,它也在调试 hibernate 和 spring。

最佳答案

是的,您必须指定每个包的日志级别:

log4j.logger.org.hibernate=info
log4j.logger.org.springframework=info
log4j.logger.com.yourapplication=debug

请注意,您应该从类别(过时的)切换到记录器。所以 log4j.rootLogger=...

关于java - 仅指定一些包具有调试输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6796411/

相关文章:

scala - 找不到记录器的附加程序(org.apache.kafka.clients.consumer.ConsumerConfig)

java - Log4j2 配置无法写入文件

java - 在 Java 中记录和轻松查看大量 session 数据

java - 调用 DestroyJavaVM 后重新调用 JNI_CreateJavaVM 返回 -1

java - log4j 在获取我的配置时显示错误

java - 在 Android 上使用 java 创建 FB 应用程序

java - 如何释放按下的java按钮

java - 带有 MemoryMappedFile 和中断文件的 Log4j2

java - 将值从内部递归方法传递到外部方法

Java Servlet - 当 servlet 是安全的时不同的 JSESSIONID。为什么?