springboot修改默认日志配置

记录一下在application.properties中的简单日志配置:

## log ##
logging.level.root=info
# 日志文件路径及文件名,路径不配置默认当前项目,logging.file配置后logging.path不会再生效
logging.file=/restapi.log
# 日志文件路径 默认生成的文件名spring.log
logging.path=/springboot/logs
# 在控制台输出的日志的格式
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
# 日志文件中日志输出的格式
logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
# sql #
# logging.level.包名
logging.level.com.app.dao.mysql=debug

然后对上面的配置解析一下:

logging.level.root=info:根日志的输出级别为info,一般常用的有debug

logging.file=/restapi.log:在当前系统所在盘下生成restapi.log日志记录文件,可/folder/restapi.log这种格式添加子文件夹。

logging.path=/springboot/logs:在当前系统所在盘下的springboot/logs子文件夹下生成spring.log日志记录文件,默认的文件名spring.log好像是不让修改的,优先级比logging.file低,在配置了logging.file后不会再生效。

默认情况下,Spring Boot将日志输出到控制台,不会写到日志文件。如果要编写除控制台输出之外的日志文件,则需在application.properties中设置logging.file或logging.path属性。

logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n:

  1. %d表示当前时间,{yyyy-MM-dd HH:mm:ss}表示时间格式。

  2. %thread表示线程名称。

  3. %‐5level:日志级别从左显示5个字符宽度。

  4. %logger{50} 表示logger名字最长50个字符,否则按照句点分割。

  5. %msg:日志详细消息。

  6. %n:换行。

logging.level.com.app.dao.mysql=debug:com.app.dao.mysql包下日志级别使用debug模式,主要是为了记录mysql的sql执行语句,mybatis打印sql执行语句默认是debug级别。

Java代码中使用logger:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

protected static final Logger logger = LoggerFactory.getLogger(this.getClass());

springboot默认使用的是logback记录日志,其支持jar包:

    
      org.springframework.boot
      spring-boot-starter-logging
      2.0.5.RELEASE
      compile
    

默认已包含在spring-boot-starter中,所以引入spring-boot-starter依赖即可:

        
            org.springframework.boot
            spring-boot-starter
        

 

你可能感兴趣的:(Spring,Boot)