定义 Spring 5 日志级别

Define Spring 5 Logging Level

我将 Web 应用程序(部署在 Web 服务器上)从 Spring 4 迁移到 Spring 5。工作正常。生产环境没有问题。

但是我的开发环境有一个问题: 开发服务器是 运行 JVM 选项 org.slf4j.simpleLogger.defaultLogLevel=debug。问题是,Spring "picks up" 该选项,因此 Spring 控制器通过 SLF4J 进行了很多交谈。调试输出的数量压倒了其他调试日志记录。我尝试通过 logging.level.org.springframework.web={info|error|warn|trace} 等 JVM 选项为 Spring 设置单独的日志记录级别。

有什么想法或解决方案吗?预先感谢您的帮助。

编辑(参见 Belistas 评论)/示例:

因为每次将对象添加到模型时 Spring 都会记录调试级别,因此会有很多输出。

Amir Pashazadeh 提供了有助于解决问题的提示。

  1. 使用 Logback 而不是 Simple Logger
  2. 在 logback 配置文件中为包 "org.springframework" 定义记录器。

我的解决方案是忽略 Spring 调试日志记录并仅通过控制台输出附加程序继续 Spring 信息日志记录。

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
  <encoder>
    <pattern>%-5level %logger{16} - %msg%n</pattern>
  </encoder>
</appender>

<logger name="org.springframework" level="info" additivity="false">
  <appender-ref ref="STDOUT"/>
</logger>

就是这样。谢谢大家的帮助。