在 Spring Boot 属性中设置嵌套类的日志记录级别

我正在尝试为 2 个嵌套类记录器单独设置日志记录级别,一个示例是名为的记录器:


com.package.ParentClass$LoggerOne和com.package.ParentClass$LoggerTwo。在 logback.xml 文件中为这些确切的记录器添加记录器工作正常,但在尝试为 Spring Boot 的属性组设置记录器时似乎没有任何效果logging.level。


具有这些记录器的类看起来像这样:


class ParentClass {


    private static Logger logger = LoggerFactory.getLogger(ParentClass.class);


    // code that uses ParentClass logger


    class LoggerOne {


        private static Logger logger = LoggerFactory.getLogger(LoggerOne.class);


        // code that uses LoggerOne logger



    }


    class LoggerTwo {


        private static Logger logger = LoggerFactory.getLogger(LoggerTwo.class);


        // code that uses LoggerTwo logger


    }


}


冉冉说
浏览 157回答 2
2回答

收到一只叮咚

解决方案是将记录器类/子类包围在[].例子:logging:   level:     com.package.[ParentClass$LoggerOne]: INFO     com.package.[ParentClass$LoggerTwo]: ERROR     com.package.ParentClass: DEBUG这允许对父类和父类中包含的任何嵌套类的日志记录级别进行细粒度控制。

蛊毒传说

我尝试使用括号,它对我有用:logging.level.com.package[ParentClass$LoggerOne]=INFO logging.level.com.package[ParentClass$LoggerTwo]=DEBUG
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java