gpt4 book ai didi

spring - 如果我使用 log4j2,如何通过更改应用程序属性中的任何属性来更改 Spring Boot 项目(在生产环境中)中的日志级别

转载 作者:行者123 更新时间:2023-12-02 03:27:07 25 4
gpt4 key购买 nike

我正在开发一个 spring boot 服务(2.1.7 spring boot 版本),我使用 log4j2 来建立日志及其模式:

    <?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO" name="MyService">
<Properties>
<Property name="project.component">${bundle:bootstrap:project.component}</Property>
<Property name="project.version">${bundle:bootstrap:project.version}</Property>
</Properties>
<Appenders>
<Console name="main" target="SYSTEM_OUT">
<PatternLayout
pattern="%d{yyyy-MM-dd HH:mm:ss,SSSZ} ${project.component} ${project.version} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Logger name="root" level="INFO">
<AppenderRef ref="main" level="INFO"/>
</Logger>
</Loggers>
</Configuration>

我没有使用 log4j2.properties。我的问题是我只能通过 log4j2.xml 更改日志级别,我尝试在 application.properties 中使用几个 spring boot 属性作为logging.level.root或通过执行器端点,但它们不起作用。当我在生产环境中并且需要更改日志级别时,我没有办法做到这一点。

有什么建议吗?

最佳答案

我可以使用类似的配置更改日志级别,甚至可以让您配置日志模式:

# 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

关于spring - 如果我使用 log4j2,如何通过更改应用程序属性中的任何属性来更改 Spring Boot 项目(在生产环境中)中的日志级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58932565/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com