Spring Boot 集成日志logback + 控制台打印SQL
一: 控制台打印SQL
application.properties中添加如下即可在控制台打印sql
logging.level.com.fx.fxxt.mapper=debug
二:日志
因为Spring Boot使用的默认日志框架就是Logback,所以只需要修改Mapper的级别为Debug就可以。
新建logback.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <configuration scan="true" scanPeriod="10 seconds">
-
-
-
- <contextName>logbackcontextName>
-
-
-
- <property name="log.path" value="D:/log4J" />
-
-
-
- <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}}"/>
-
-
-
- <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
-
- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
- <level>debuglevel>
- filter>
- <encoder>
- <Pattern>${CONSOLE_LOG_PATTERN}Pattern>
-
- <charset>UTF-8charset>
- encoder>
- appender>
-
-
-
-
-
- <appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-
- <file>${log.path}/log_debug.logfile>
-
- <encoder>
- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%npattern>
- <charset>UTF-8charset>
- encoder>
-
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-
- <fileNamePattern>${log.path}/debug/log-debug-%d{yyyy-MM-dd}.%i.logfileNamePattern>
- <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
- <maxFileSize>100MBmaxFileSize>
- timeBasedFileNamingAndTriggeringPolicy>
-
- <maxHistory>15maxHistory>
- rollingPolicy>
-
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>debuglevel>
- <onMatch>ACCEPTonMatch>
- <onMismatch>DENYonMismatch>
- filter>
- appender>
-
-
- <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-
- <file>${log.path}/log_info.logfile>
-
- <encoder>
- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%npattern>
- <charset>UTF-8charset>
- encoder>
-
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-
- <fileNamePattern>${log.path}/info/log-info-%d{yyyy-MM-dd}.%i.logfileNamePattern>
- <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
- <maxFileSize>100MBmaxFileSize>
- timeBasedFileNamingAndTriggeringPolicy>
-
- <maxHistory>15maxHistory>
- rollingPolicy>
-
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>infolevel>
- <onMatch>ACCEPTonMatch>
- <onMismatch>DENYonMismatch>
- filter>
- appender>
-
-
- <appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-
- <file>${log.path}/log_warn.logfile>
-
- <encoder>
- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%npattern>
- <charset>UTF-8charset>
- encoder>
-
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${log.path}/warn/log-warn-%d{yyyy-MM-dd}.%i.logfileNamePattern>
- <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
- <maxFileSize>100MBmaxFileSize>
- timeBasedFileNamingAndTriggeringPolicy>
-
- <maxHistory>15maxHistory>
- rollingPolicy>
-
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>warnlevel>
- <onMatch>ACCEPTonMatch>
- <onMismatch>DENYonMismatch>
- filter>
- appender>
-
-
-
- <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-
- <file>${log.path}/log_error.logfile>
-
- <encoder>
- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%npattern>
- <charset>UTF-8charset>
- encoder>
-
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${log.path}/error/log-error-%d{yyyy-MM-dd}.%i.logfileNamePattern>
- <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
- <maxFileSize>100MBmaxFileSize>
- timeBasedFileNamingAndTriggeringPolicy>
-
- <maxHistory>15maxHistory>
- rollingPolicy>
-
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>ERRORlevel>
- <onMatch>ACCEPTonMatch>
- <onMismatch>DENYonMismatch>
- filter>
- appender>
-
-
-
-
-
-
-
-
-
-
- <springProfile name="dev">
- <logger name="com.spring.boot.springbootdemo.mapper" level="debug"/>
- springProfile>
-
- <root level="info">
- <appender-ref ref="CONSOLE" />
- <appender-ref ref="DEBUG_FILE" />
- <appender-ref ref="INFO_FILE" />
- <appender-ref ref="WARN_FILE" />
- <appender-ref ref="ERROR_FILE" />
- root>
- configuration>
三 或者 .properties 添加如下
- #com.mycompany.mavenspringboot.controller 日志 WARN级别输出
- logging.level.com.xxx.xxxx.controller=WARN
- #com.mycompany.mavenspringboot.mapper sql日志 DEBUG级别输出
- logging.level.com.xxx.xxxx.mapper=DEBUG
- logging.file=logs/spring-boot-logging.log
- logging.pattern.console=%d{yyyy/MM/dd-HH:mm:ss} [%thread] %-5level %logger- %msg%n
- logging.pattern.file=%d{yyyy/MM/dd-HH:mm} [%thread] %-5level %logger- %msg%n
结果如下
此位置就是生成的日志
四:
controller打印logger
- private Logger logger = LoggerFactory.getLogger(UserController.class);
-
-
-
-
-
- logger.info("获取成功");
原文地址:https://blog.csdn.net/mzhaocai/article/details/80747891