文章目录
当前项目使用的springboot为
2.2.2.release
。低版本的话logging下的子标签有可能不是这样的。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.2.2.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
或
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
application.yml文件中的配置
logging:
# config: classpath:logback.xml
level:
#logging.level.root=info就是默认的情况
# root: info #logging.level设置日志级别,后面跟生效的区域,比如root表示整个项目,也可以设置为某个包下,也可以具体到某个类名(日志级别的值不区分大小写)
root: warn
cn.com.yuanquanyun: debug
file:
max-size: 10MB
max-history: 7
path: logs
name: ${logging.file.path}/myapp.log
#指定日志的格式(springboot也自带默认的格式)
pattern:
# console: "%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger : %msg%n" #指的是打印到控制台的日志格式
console: "%red(%d{yyyy-MM-dd HH:mm:.SSS}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{50}) - %cyan(%msg%n)" #指的是打印到控制台的日志格式--带颜色
file: "%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger : %msg%n" #指的是存储到日志文件里的的日志格式
对上述的配置进行说明:
logger.level.root:info #表示整个项目的日志输出级别为Info,也就是日志级别比Info高的日志都输出,也是默认的。
logger.level.root:warn #一般改为warn基本
logger.level.cn.com.yuanquanyun: debug #也可以指定某个包下的日志级别。尤其是打印sql语句时,需要debug级别才能看到。这样项目的其他地方的日志是warn级别。这个指定包的日志级别为debug级别。
%d: 表示日期格式 默认为:yyyy-MM-dd HH:mm:ss,SSS, 可以通过%d{yyyy-MM-dd HH:mm:ss.SSS} 或 %d{yyyy-MM-dd HH:mm:ss} 来指定格式,一般来说最好用默认的精确到毫秒级
%-5level:级别从左显示5个字符宽度 ,
%thread: 表示线程名,
%logger: 表示当前调log.info()打印日志的对象的类的权限定名
%msg:日志消息,%n是换行符
max-size: #当日志文件的内容达到指定大小时,会执行回滚策略,将文件压缩归档为日志文件名.log.yyyy-MM-dd.i.gz,再生成一个新的zhyd-app.log空文件继续收集新日志。不能保证压缩前的日志文件完全是指定的大小,因为需要保证日志完整性,不能断行。一般都会略大于指定的大小.
max-history: #历史归档文件保留7天,超过7天的,会自动删除
path: #生成的日志文件所在的目录
name: #指定生成的日志文件的名称,如果没有指定,则使用默认的:spring.log
#config: classpath:logback.xml #也可以这里引入xml文件。不把日志的配置写到application.yml,而是写到另外一个文件中。这样避免yml文件太臃肿。