为什么要使用日志?
- 1.比起System.out.println,日志框架可以把日志的输出和代码分离
- 2.日志框架可以方便的定义日志的输出环境,控制台,文件,数据库
- 3.日志框架可以方便的定义日志的输出格式和输出级别
SpringBoot中的日志介绍
- Springboot默认已经开启日志
默认的日志格式为: 时间 日志级别 线程ID 线程名称 日志类 日志说明 - Springboot的日志分为: 系统日志和应用日志
- Springboot默认选择Logback作为日志框架,也能选择其他日志框架,但是没有必要
common-logging / java-logging / log4j / log4j2 / logback / slf4j
Logback日志的使用
Logback框架默认会自动加载classpath:logback.xml,作为框架的配置文件,在SpringBoot中使用时,还会额外的支持自动加载classpath:logback-spring.xml,并且能获得额外的功能,在SpringBoot中推荐使用logback-spring.xml
例子:
<?xml version="1.0" encoding="UTF-8"?>
<!--
scan:开启日志框架的热部署,默认值true表示开启
scanPeriod:热部署的频率,默认值60 second
debug:设置输出框架内部的日志,默认值false
-->
<configuration scan="true" scanPeriod="60 second" debug="false">
<property name="appName" value="springboot demo" />
<contextName>${appName}</contextName>
<!--
appender:日志输出对象,配置不同的类拥有不同的功能
ch.qos.logback.core.ConsoleAppender:日志输出到控制台
-->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd-HH:mm:ss} %level [%thread]-%logger{35} >> %msg
%n</pattern>
</encoder>
</appender>
<!-- ch.qos.logback.core.FileAppender:日志输出到文件中
<appender name="fileAppender" class="ch.qos.logback.core.FileAppender">
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg %n</pattern>
</encoder>
<append>true</append>
<file>mylog.log</file>
</appender>
-->
<!--
root是项目通用的logger,一般情况下都是使用root配置的日志输出
level:按照级别输出日志,日志级别,级别越高,输出的内容越少
trace > debug > info > warn > error
-->
<root level="info">
<appender-ref ref="STDOUT"/>
</root>
<!-- 自定义的logger,用于专门输出特定包中打印的日志
<logger name="cn.wolfcode.springboot" level="trace">
<appender-ref ref="fileAppender" />
</logger>
-->
</configuration>