【问题标题】:Logger in Spring serviceSpring服务中的记录器
【发布时间】:2023-03-21 11:26:01
【问题描述】:

似乎 apache log4j 在 spring 服务中不起作用。

import org.apache.log4j.Logger;
@Service("updateService")
public class UpdateUserResult {

    protected static Logger logger = Logger.getLogger("updater");

    public void update() {
        System.out.println("!!!!!!!!!!!!!!!!!!!"); //this works
        logger.debug("updating result"); //this does't work
    } ...

这是记录器配置

log4j.rootLogger=ERROR,console 
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%5p] [%t %d{hh:mm:ss}] (%F:%M:%L) %m%n
log4j.logger.controller=DEBUG,console
log4j.logger.service=DEBUG,console
log4j.logger.dao=DEBUG,console
log4j.additivity.controller=false
log4j.additivity.service=false
log4j.additivity.dao=false

这是为什么呢?

【问题讨论】:

  • log4j.rootLogger=DEBUG,console ?
  • 您的配置不正确。您将 logger 指定为 updater,但您没有为其定义级别,默认为 ERROR(这可能不是唯一的问题)。

标签: java spring logging


【解决方案1】:

UpdateUserResult 属于哪个包?

如果该类不是您的log4j.properties 文件中已经提到的调试级别的包的一部分,那么log4j 将默认rootLogger 中的日志记录级别,因为log4j 遵循级别继承,即ERROR案例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-25
    • 1970-01-01
    • 2015-11-27
    • 2013-01-03
    • 2015-09-25
    • 1970-01-01
    • 2017-02-07
    相关资源
    最近更新 更多