java - 使用 spring mvc 设置日志记录,只想将跟踪/调试限制到我的代码

标签 java spring logging log4j slf4j

我终于用 spring mvc 设置了 log4j,我的 log4j 属性如下所示:

# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

# Root logger option
log4j.rootLogger=trace, stdout

现在我不想看到除了我自己的代码之外的任何输出,有没有办法将所有日志消息限制到特定的命名空间?

当我进入生产时,我不想记录任何跟踪/调试信息,我想我必须创建一个文件附加程序,但是我如何将日志消息限制为仅严重类型日志消息,就像在尝试中一样/catch 还是一些意想不到的事情?

最佳答案

例如(使用ConsoleAppeneder,但差异相同):

log4j.rootLogger=INFO, A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n

log4j.logger.your.package.to.debug=DEBUG
log4j.logger.org.springframework.aop=DEBUG

默认情况下,此日志记录在 INFO 级别,your.package.to.debug 和 spring-aop 包除外,记录在 DEBUG 级别。根据需要混合和匹配级别和包。

我会小心谨慎,不要将 INFO 投入生产,除非您永远不需要调试任何东西 - 特别是在启动期间,INFO 非常重要。它还可用于提供一般系统信息。

此外,%L 模式非常慢。适合罕见的警告/等。日志,对于正常操作日志记录来说没有那么多。

关于java - 使用 spring mvc 设置日志记录,只想将跟踪/调试限制到我的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8288841/

相关文章:

java - 调用 glGenTextures 时崩溃

java - 如何获取服务器基本路径来查找和读取 json

java - Hibernate - 注入(inject) MySql 函数

Spring Boot、Hibernate Search 属性

java - 可选的@PropertySource 位置

c# - 将 Windsor Logging Facility 安装到图书馆中

python - 使用 TimedRotatingFileHandler,如何按照与轮换相同的约定命名第一个日志文件?

java - 如何在 Jtree 中刷新 XML

java - 从其余 Controller 方法请求 String [] + String 作为 Json

mysql - 记录MySQL通用日志到文件慢查询日志到表