如何在生产环境中通过更改 application properties 文件中的属性来更改 spring boot 项目中的日志级别(使用 log4j2)
如何在生产环境中通过更改 application properties 文件中的属性来更改 spring boot 项目中的日志级别(使用 log4j2)
我正在开发一个使用Spring Boot服务(Spring Boot 2.1.7版本),我正在使用log4j2来建立日志和它们的模式:
${bundle:bootstrap:project.component} ${bundle:bootstrap:project.version}
我没有使用log4j2.properties。
我的问题是,我只能通过log4j2.xml更改日志级别,我已经尝试过几个Spring Boot属性,在我的application.properties中作为logging.level.root或通过承载器端点,但它们没有发挥作用。当我处于生产环境中并且需要更改日志级别时,我没有办法这样做。
有任何建议吗?
admin 更改状态以发布 2023年5月24日
我能够使用类似的配置来更改日志级别,甚至还可以配置日志的模式:
# Set everything to be logged to the console log4j.rootCategory=TRACE, console log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.target=System.err log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n
也可以设置每个类别的日志级别,例如:
# Settings to quiet third party logs that are too verbose log4j.logger.org.eclipse.jetty=WARN log4j.logger.org.eclipse.jetty.util.component.AbstractLifeCycle=ERROR log4j.logger.org.apache.spark.repl.SparkIMain$exprTyper=INFO log4j.logger.org.apache.spark.repl.SparkILoop$SparkILoopInterpreter=INF log4j.logger.org.apache.spark.sql.execution.streaming.FileStreamSource=TRACE