springboot默认引入logback相关的jar包
1、在 Application.properties里添加
当文件名为logback.xml或者logback-spring.xml时不需要配置logging.config
- logging.config=classpath:logback-spring.xml
2、创建logback-spring.xml文件:
3、(1)彩色日志需要IDE支持ANSI Escape Color,如果不需要就用下面的appender
(2)将日志输出到文件
- <?xml version="1.0" encoding="UTF-8" ?>
- <configuration scan="true" scanPeriod="60 seconds" debug="false">
- <include resource="org/springframework/boot/logging/logback/defaults.xml" />
- <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
- <property name="LOG_HOME" value="/var/log" />
- <!-- 彩色日志 -->
- <!-- 彩色日志依赖的渲染类 -->
- <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
- <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
- <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
- <!-- 彩色日志格式 -->
- <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}" />
- <!-- Console 输出设置 -->
- <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
- <encoder charset="UTF-8">
- <!-- 显示毫秒数
- <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>-->
- <pattern>${CONSOLE_LOG_PATTERN}</pattern>
- </encoder>
- </appender>
- <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!--日志文件输出的文件名-->
- <FileNamePattern>${LOG_HOME}/web.%d{yyyy-MM-dd}.log</FileNamePattern>
- <!--日志文件保留天数-->
- <MaxHistory>30</MaxHistory>
- </rollingPolicy>
- <!--日志文件最大的大小-->
- <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
- <MaxFileSize>10MB</MaxFileSize>
- </triggeringPolicy>
- <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
- <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
- </encoder>
- </appender>
- <!-- * 通配符 设置log打印级别 对所有类有效TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF-->
- <!--将上面的appender添加到root-->
- <root level="ERROR">
- <appender-ref ref="STDOUT" />
- <appender-ref ref="FILE" />
- </root>
- <logger name="com.boot" level="INFO"></logger>
- <!--<!–日志异步到数据库 –>-->
- <!--<appender name="DB" class="ch.qos.logback.classic.db.DBAppender">-->
- <!--<!–日志异步到数据库 –>-->
- <!--<connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">-->
- <!--<!–连接池 –>-->
- <!--<dataSource class="com.mchange.v2.c3p0.ComboPooledDataSource">-->
- <!--<driverClass>com.mysql.jdbc.Driver</driverClass>-->
- <!--<url>jdbc:mysql://127.0.0.1:3306/databaseName</url>-->
- <!--<user>root</user>-->
- <!--<password>root</password>-->
- <!--</dataSource>-->
- <!--</connectionSource>-->
- <!--</appender>-->
- </configuration>