每一个成功人士的背后,必定曾经做出过勇敢而又孤独的决定。
放弃不难,但坚持很酷~
一、logback日志框架
logback 是一个开源的日志组件,由三个部分组成:logback-core,logback-classic,logback-access。其中 logback-core 是其他两个模块的基础。
在 spring boot 中,由于 spring-boot-starter-web 和 spring-boot-starter-logging 是有依赖关系的,所以只需要引入 spring-boot-starter-web 就可以使用 logback 框架了。
logback 中有几个常用标签:
property、appender,encoder、filter、rollingPolicy、logger、root 等,下文会有详细介绍。
spring boot 会默认加载 logback-spring.xml 文件,如果自定义配置名称(logback-test.xml)的话,可在 application.xml 文件内添加:
logging:
config: classpath:logback-test.xml
先来看一下配置大概:
<?xml version="1.0" encoding="UTF-8"?>
...
configuration 标签有三个属性:
scan:当此属性设置为 true 时,spring boot 会每隔一段时间扫描一次该文件,默认是 true 。
scanperiod:设置扫描间隔时间,如果没有设置时间单位,默认为毫秒。当 scan 为 true 时,此属性生效。默认的时间间隔为 1 分钟。
debug:当此属性设置为 true 时,将打印 logback 的内部日志,实时查看 logback 运行状态。默认值为 false 。
二、自定义logback-spring.xml文件
2.1、日志输出到控制台:
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%nUTF-8
appender>
表示对日志输出进行编码:
%d{HH: mm:ss.SSS}:日志输出时间
%thread:输出日志的进程名字,这在 Web 应用以及异步任务处理中很有用。
%-5level:日志级别,并且使用5个字符靠左对齐
%logger{36}:日志输出的类名
%msg:日志消息
%n:换行符
2.2、日志输出到文件
按日志级别输出到文件,将 error 级别的日志与其它级别的日志进行分离:
<appender name="FILE-INFO-ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
<append>true