spring boot 默认使用了logback日志框架,都说比log4j性能更高
在新建 logback.xml 后,发现启动项目后,打印日志变成白色的了,没有之前的彩色了,我们新建的配置文件,取代了默认的配置
中间研究了很长时间怎样恢复成彩色,和日志分类输出到文件,现在才发现可以这样配置
加入这些配置,就会恢复成彩色了
<?xml version="1.0" encoding="UTF-8" ?>
<configuration scan="false" scanPeriod="60000" debug="false">
<!-- 彩色日志 -->
<!-- 彩色日志依赖的渲染类 -->
<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>
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<root level="info">
<appender-ref ref="STDOUT" />
</root>
<!-- 统计appender -->
<appender name="STATISTICS_APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">
<append>true</append>
<file>E://oopdd/v2//pdd2newapi//logs//statistics.log</file>
<!-- to generate a log file everyday with a longest lasting of 30 days -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- logfile name with daily rolling-->
<FileNamePattern>
E://oopdd/v2/pdd2newapi/logs/statistics.log.%d{yyyy-MM-dd-HH}
</FileNamePattern>
<!-- log perserve days-->
<MaxHistory>720</MaxHistory>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--output format:%d is for date,%thread is for thread name,%-5level:loglevel with 5 character %msg:log message,%n line breaker-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %level %C.%M[%F:%L] - %msg%n</pattern>
<!-- encoding -->
<charset>UTF-8</charset>
</encoder>
</appender>
<!--统计logger-->
<logger name="statistics" level="INFO" additivity="false">
<!--
<appender-ref ref="STDOUT"/>
-->
<appender-ref ref="STATISTICS_APPENDER" />
</logger>
</configuration>
在配置文件中,还配置了一个输出到特定文件的日志配置
name="STATISTICS_APPENDER" 和 name="statistics" 配置了一组日志输出对象
然后调用它
package com.zfl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class TestH {
private final static Logger STATISTICS_LOGGER = LoggerFactory.getLogger("statistics");
public static void main(String[] args) {
STATISTICS_LOGGER.info("111");
}
}
用配置的一组日志输出,打印出了111
现在已经成功输出到文件中