Spring Boot 集成日志logback + 控制台打印SQL


一: 控制台打印SQL

application.properties中添加如下即可在控制台打印sql

logging.level.com.fx.fxxt.mapper=debug

二:日志  

因为Spring Boot使用的默认日志框架就是Logback,所以只需要修改Mapper的级别为Debug就可以。

新建logback.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration scan="true" scanPeriod="10 seconds">
  3. <contextName>logbackcontextName>
  4. <property name="log.path" value="D:/log4J" />
  5. <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
  6. <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
  7. <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
  8. <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}}"/>
  9. <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
  10. <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  11. <level>debuglevel>
  12. filter>
  13. <encoder>
  14. <Pattern>${CONSOLE_LOG_PATTERN}Pattern>
  15. <charset>UTF-8charset>
  16. encoder>
  17. appender>
  18. <appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  19. <file>${log.path}/log_debug.logfile>
  20. <encoder>
  21. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%npattern>
  22. <charset>UTF-8charset>
  23. encoder>
  24. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  25. <fileNamePattern>${log.path}/debug/log-debug-%d{yyyy-MM-dd}.%i.logfileNamePattern>
  26. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  27. <maxFileSize>100MBmaxFileSize>
  28. timeBasedFileNamingAndTriggeringPolicy>
  29. <maxHistory>15maxHistory>
  30. rollingPolicy>
  31. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  32. <level>debuglevel>
  33. <onMatch>ACCEPTonMatch>
  34. <onMismatch>DENYonMismatch>
  35. filter>
  36. appender>
  37. <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  38. <file>${log.path}/log_info.logfile>
  39. <encoder>
  40. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%npattern>
  41. <charset>UTF-8charset>
  42. encoder>
  43. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  44. <fileNamePattern>${log.path}/info/log-info-%d{yyyy-MM-dd}.%i.logfileNamePattern>
  45. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  46. <maxFileSize>100MBmaxFileSize>
  47. timeBasedFileNamingAndTriggeringPolicy>
  48. <maxHistory>15maxHistory>
  49. rollingPolicy>
  50. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  51. <level>infolevel>
  52. <onMatch>ACCEPTonMatch>
  53. <onMismatch>DENYonMismatch>
  54. filter>
  55. appender>
  56. <appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  57. <file>${log.path}/log_warn.logfile>
  58. <encoder>
  59. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%npattern>
  60. <charset>UTF-8charset>
  61. encoder>
  62. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  63. <fileNamePattern>${log.path}/warn/log-warn-%d{yyyy-MM-dd}.%i.logfileNamePattern>
  64. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  65. <maxFileSize>100MBmaxFileSize>
  66. timeBasedFileNamingAndTriggeringPolicy>
  67. <maxHistory>15maxHistory>
  68. rollingPolicy>
  69. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  70. <level>warnlevel>
  71. <onMatch>ACCEPTonMatch>
  72. <onMismatch>DENYonMismatch>
  73. filter>
  74. appender>
  75. <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  76. <file>${log.path}/log_error.logfile>
  77. <encoder>
  78. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%npattern>
  79. <charset>UTF-8charset>
  80. encoder>
  81. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  82. <fileNamePattern>${log.path}/error/log-error-%d{yyyy-MM-dd}.%i.logfileNamePattern>
  83. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  84. <maxFileSize>100MBmaxFileSize>
  85. timeBasedFileNamingAndTriggeringPolicy>
  86. <maxHistory>15maxHistory>
  87. rollingPolicy>
  88. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  89. <level>ERRORlevel>
  90. <onMatch>ACCEPTonMatch>
  91. <onMismatch>DENYonMismatch>
  92. filter>
  93. appender>
  94. <springProfile name="dev">
  95. <logger name="com.spring.boot.springbootdemo.mapper" level="debug"/>
  96. springProfile>
  97. <root level="info">
  98. <appender-ref ref="CONSOLE" />
  99. <appender-ref ref="DEBUG_FILE" />
  100. <appender-ref ref="INFO_FILE" />
  101. <appender-ref ref="WARN_FILE" />
  102. <appender-ref ref="ERROR_FILE" />
  103. root>
  104. configuration>

三 或者   .properties  添加如下

  1. #com.mycompany.mavenspringboot.controller 日志 WARN级别输出
  2. logging.level.com.xxx.xxxx.controller=WARN
  3. #com.mycompany.mavenspringboot.mapper sql日志 DEBUG级别输出
  4. logging.level.com.xxx.xxxx.mapper=DEBUG
  5. logging.file=logs/spring-boot-logging.log
  6. logging.pattern.console=%d{yyyy/MM/dd-HH:mm:ss} [%thread] %-5level %logger- %msg%n
  7. logging.pattern.file=%d{yyyy/MM/dd-HH:mm} [%thread] %-5level %logger- %msg%n

结果如下

此位置就是生成的日志

四:

controller打印logger

  1. private Logger logger = LoggerFactory.getLogger(UserController.class);
  2. logger.info("获取成功");
原文地址:https://blog.csdn.net/mzhaocai/article/details/80747891