Aet*_*rus 3 logging spring-boot
我使用 Spring Boot (1.5.8.RELEASE) 创建了一个 Spring MVC 项目。我选择了 web、jpa 和 mysql,并且在我的build.gradle.
这是我的相关部分application.yml:
logging:
level: trace
Run Code Online (Sandbox Code Playgroud)
这就是有关日志记录的所有配置。我只想在控制台中显示日志消息,所以我省略了logging.path.
我有控制器
package com.example.controllers;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
// other imports ...
@RestController
@RequestMapping("/")
public class DummyController {
private static final Logger LOGGER =
LoggerFactory.getLogger(DummyController.class);
@GetMapping
public void foo() {
LOGGER.info("foo");
}
}
Run Code Online (Sandbox Code Playgroud)
当我向 发送请求时/,我收到200 OK响应,但日志中没有显示任何内容。奇怪的是,Spring框架和Hibernate的日志消息确实出现在控制台中。只是我的临时日志消息丢失了。
然后我调试了我的代码,发现LOGGER(记录器树的根)的祖先是一个具有 log level 的记录器INFO。这显然不是我配置的记录器。然而Spring的官方文档并没有告诉我如何获取我想要的logger实例。我怎样才能做到这一点?我的代码是否有问题,或者我在配置中遗漏了某些内容?
官方文档很简单,可以使用配置根记录器logging.level.root。但实际上您可以单独为每个包/类配置日志记录
logging.level.root=TRACE # default for everything
logging.level.com.example.controllers=TRACE # for your controllers package
Run Code Online (Sandbox Code Playgroud)
类似的application.yml:
logging:
level:
root: TRACE
com.example.controllers: TRACE
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12383 次 |
| 最近记录: |