配置日志
1.Spring Boot
默认已经集成了日志功能,使用的是
logback
开源日志系统
•
日期时间
:精确到毫秒
•
日志级别
:打印
ERROR
、
WARN(警告,告诫)
、
INFO
、
DEBUG(调试,排除障碍)
等级别日志信息,默认的日志级别是
info
•
进程
ID
:
当前项目进程
ID
•
分隔符
:
---
是分隔符
•
线程名
:方括号中间的内容表示线程名称
•
类名
:当前日志打印所属的类名称
•
日志内容
:开发人员设定的日志具体内容
![](https://i-blog.csdnimg.cn/blog_migrate/a83ec08f1c4a15521acedcfc3a033b76.png)
2.自己定义日志的输出内容
(1)在application.properties配置文件中加入如下代码
#日志配置文件(propertities文件中的注释是#)
logging.config=classpath:logback-spring.xml
(2)加入logback-spring.xml文件(我跟着老师讲的大致添加了一下注释,可能有的地方描述不标准,但是意思差不多)
<?xml version="1.0" encoding="UTF-8"?>
<!-- logback 配置 -->
<configuration>
<!-- contextName属性,日志名 -->
<contextName>logback-demo</contextName>
<!-- property属性,用于自定义属性,下面可以使用 ${属性名} 来引用该属性的值 在xml文件中 property标签中可以定义变量 -->
<property name="pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg %n"/>
<property name="pattern-color" value="%yellow(%d{yyyy-MM-dd HH:mm:ss.SSS}) [%thread] %highlight(%-5level) %green(%logger{50}) - %highlight(%msg) %n"/>
<property name="LOG_HOME" value="logs"/>
<!-- appender节点,日志渲染器,渲染console控制台日志或文件日志为某种格式 -->
<!-- 控制台输出策略 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<!-- 输出格式 -->
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>${pattern}</pattern>
</encoder>
</appender>
<!-- 控制台输出-带颜色 -->
<appender name="CONSOLE-WITH-COLOR" class="ch.qos.logback.core.ConsoleAppender">
<!-- 输出格式 -->
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>${pattern-color}</pattern>
</encoder>
</appender>
<!-- 文件输出 -->
<!-- 日志文件会在项目中自动生成 在项目的根目录中会生成log文件-->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- %d生成日期(年月日) %i生成索引index(0,1,2...)记录每天生成的第几次日志 -->
<fileNamePattern>${LOG_HOME}/%d.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- maxFileSize规定日志文件的最大值(10MB) -->
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!--保留30天-->
<maxHistory>30</maxHistory>
</rollingPolicy>
<!-- 输出格式 -->
<encoder>
<pattern>${pattern}</pattern>
</encoder>
</appender>
<!-- root节点,启用哪种appender,可以添加多个appender -->
<root level="INFO">
<appender-ref ref="CONSOLE-WITH-COLOR"/>
<appender-ref ref="FILE"/>
</root>
<!-- logger节点可以指定具体包或类的日志配置 -->
<!-- name属性为必选,指定要配置的包或类 -->
<!-- additivity表示日志是否传递到上一级,默认为true (这里这个类会打印三遍) 如果是false的话只会打印一遍指定类型的日志-->
<logger name="com.example.mall.controller.LogController" level="info" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
</configuration>
(3) 日志文件会在项目中自动生成 在项目的根目录中会生成log文件
(4)在控制台输出的效果