定义 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 评论)/示例:
- DEBUG org.springframework.web.servlet.view.JstlView - 添加了类型为 [.Project] 的模型对象 'project' 以请求名称为 'specs-draft'
的视图
- DEBUG org.springframework.web.servlet.handler.SimpleUrlHandlerMapping - 请求 [/resources/css/style.css] 的匹配模式是 [/resources/**]
因为每次将对象添加到模型时 Spring 都会记录调试级别,因此会有很多输出。
Amir Pashazadeh 提供了有助于解决问题的提示。
- 使用 Logback 而不是 Simple Logger
- 在 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>
就是这样。谢谢大家的帮助。
我将 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 评论)/示例:
- DEBUG org.springframework.web.servlet.view.JstlView - 添加了类型为 [.Project] 的模型对象 'project' 以请求名称为 'specs-draft' 的视图
- DEBUG org.springframework.web.servlet.handler.SimpleUrlHandlerMapping - 请求 [/resources/css/style.css] 的匹配模式是 [/resources/**]
因为每次将对象添加到模型时 Spring 都会记录调试级别,因此会有很多输出。
Amir Pashazadeh 提供了有助于解决问题的提示。
- 使用 Logback 而不是 Simple Logger
- 在 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>
就是这样。谢谢大家的帮助。