参考文章:https://blog.csdn.net/qq_28524127/article/details/81276225
我的logback文件(日志文件保存在 E:\Work\rizhi\zonghe 文件夹下):
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 彩色日志依赖的渲染类 -->
<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}}" />
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
<!-- Console 输出设置 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
<charset>utf8</charset>
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover 保存历史记录到这个文件夹一日起为后缀 -->
<fileNamePattern>E:\Work\rizhi\zonghe\demo.log.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- keep 30 days' worth of history -->
<maxHistory>30</maxHistory>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>10MB</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg %n</pattern>
<charset>UTF-8</charset> <!-- 此处设置字符集 -->
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="CONSOLE"></appender-ref>
<appender-ref ref="FILE"></appender-ref>
</root>
</configuration>
<!-- 说明:appender的输出设置为:CONSOLE,引用: -->
<!--<pattern>${CONSOLE_LOG_PATTERN}</pattern>-->
<!--<?xml version="1.0" encoding="UTF-8"?>-->
<!--<configuration>-->
<!--<!–控制台日志输出配置–>-->
<!--<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">-->
<!--<!–对输出日志进行格式化–>-->
<!--<encoder>-->
<!--<!– %d日期,%p日志级别,%file文件名,%line所在行数,%m输出的信息,%n换行 –>-->
<!--<pattern>%d %p (%file:%line\)- %m%n</pattern>-->
<!--<!–字符编码–>-->
<!--<charset>UTF-8</charset><!–此处设置字符集–>-->
<!--</encoder>-->
<!--</appender>-->
<!--<!–指定日志输出等级–>-->
<!--<root level="info">-->
<!--<appender-ref ref="STDOUT" />-->
<!--</root>-->
<!--<!–上述配置表名将 >=info级别的日志都输出到控制台–>-->
<!--<!–日志文件配置–>-->
<!--<appender name="mylog"-->
<!--class="ch.qos.logback.core.rolling.RollingFileAppender">-->
<!--<!–被写入的文件名,可以是相对目录,也可以是绝对目录,如果上级目录不存在会自动创建,没有默认值。–>-->
<!--<File>E:\log\mylog</File>-->
<!--<!–滚动记录文件:根据时间来制定滚动策略–>-->
<!--<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">-->
<!--<fileNamePattern>G:\log\base.log.%d.%i</fileNamePattern>-->
<!--<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">-->
<!--<maxFileSize>64 MB</maxFileSize>-->
<!--</timeBasedFileNamingAndTriggeringPolicy>-->
<!--</rollingPolicy>-->
<!--<encoder>-->
<!--<pattern>-->
<!--%d %p (%file:%line\)- %m%n-->
<!--</pattern>-->
<!--<charset>UTF-8</charset> <!– 此处设置字符集 –>-->
<!--</encoder>-->
<!--</appender>-->
<!--<logger name="com.shengquan.zonghe" level="DEBUG">-->
<!--<appender-ref ref="mylog" />-->
<!--</logger>-->
<!--</configuration>-->
在类中使用:
import com.alibaba.fastjson.JSON; import com.shengquan.meeting.entity.Department; import com.shengquan.meeting.response.AppResult; import com.shengquan.meeting.response.AppResultBuilder; import com.shengquan.meeting.response.ResultCode; import com.shengquan.meeting.service.TestService; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; /** * @description: * @author: Administrator * @date: 2019-04-25 09:02 */ @RestController public class TestController { public static Log log = LogFactory.getLog(TestController.class); @Autowired private TestService testService; @GetMapping("test") public String test(){ System.out.println("查询到数据=="+testService.findaa().toString()); log.info("查询到数据=="+ JSON.toJSONString(testService.findaa())); return "测试"; } }