SpringBoot中的日志

默认情况下,Spring Boot会用SLF4J + Logback来记录日志,并用INFO级别输出到控制台。
SLF4J,即简单日志门面(Simple Logging Facade for Java),它可以看做是一个接口框架,并不提供具体的实现,具体的实现由类似于Log4j,Log4j2,Logback等等这样的日志框架去完成。SLF4J让你的代码独立于任何特定的日志记录API,可以让我们的程序更加的健壮,不会让你因为不同日志的实现而导致的问题去分心。
如果我们在一个Spring Boot 的程序中去使用SLF4J,因为spring-boot-starter中就已经包含了有关slf4j的jar包。我们只需要通过LoggerFactory去获取即可:
private static final Logger logger = LoggerFactory.getLogger(ResponseAop.class);

默认情况下,Spring Boot将日志输出到控制台,不会写到日志文件。如果要编写除控制台输出之外的日志文件,则需在application.yml中设置logging.file或logging.path属性。但是这俩属性同时配置的时候,只有logging.file生效!
生产环境会单独配一个日志文件,如果要在日志文件中读取application.xml中属性要注意:logback.xml早于application.yml加载,logback-spring.xml晚于application.yml加载如果logback配置需要使用application.yml中的属性,需要命名为logback-spring.xml。并且logback使用springProperty才可使用application.yml中的值,如: <springProperty scope="context" name="logPath" source="log.path" defaultValue="logs"/>

posted on 2019-11-18 08:46  时间朋友  阅读(748)  评论(0编辑  收藏  举报

导航