我正在开发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或通过执行器端点,但是它们没有用。当我处于生产环境中并且需要更改日志级别时,我无法执行此操作。
有什么建议吗?
答案 0 :(得分:0)
我可以使用类似的配置来更改日志级别,甚至可以让我们为日志配置模式:
# 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