Spring Boot程序化日志记录配置

 飘飘秀秀真人_562 发布于 2023-02-11 16:44

如何在Spring启动应用程序中以编程方式配置日志记录?

使用xml或属性文件不够灵活,无法满足我的需求.

更新:我想实现这样的目标:

@Value("${logging.level.root}")
private String loggingLevelRoot;

@Value("${logging.level.myApp}")
private String loggingLevelMyApp;

@Value("${logging.file}")
private boolean fileAppenderEnabled;

....

setLevel(Logger.ROOT_LOGGER_NAME, Level.toLevel(loggingLevelRoot)));
setLevel("com.myapp", Level.toLevel(loggingLevelMyApp)));
setLevel("org.springframework", Level.WARN);
setLevel("org.apache.coyote", Level.INFO);
setLevel("org.apache.catalina", Level.INFO);
setLevel("org.apache.catalina.startup.DigesterFactory", Level.ERROR);
setLevel("org.apache.catalina.util.LifecycleMBeanBase", Level.ERROR);

Logger logger = (Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
logger.addAppender(createConsoleAppender());
if (fileAppenderEnabled) {
    logger.addAppender(createFileAppender());
}

我所拥有的每个环境都是:

logging.level.root = [INFO,DEBUG,..]

logging.level.myApp = [INFO,DEBUG,..]

logging.file = [true | 假]

没有重复的XML,Groovy和其他格式我真的不想处理.

在一天结束时,这实际上是为了实现与Spring JavaConfig对bean一样的日志记录灵活性.XML或其他文件格式过于静态,需要过多的重复,并且与应用程序的其余配置集成得不够好.

为什么日志记录的配置不同于任何其他bean或服务?这没有道理.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有