一: 控制台打印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. <!-- 日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果设置为WARN,则低于WARN的信息都不会输出 -->
  3. <!-- scan:当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true -->
  4. <!-- scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。 -->
  5. <!-- debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 -->
  6. <configuration scan="true" scanPeriod="10 seconds">
  7. <!--<include resource="org/springframework/boot/logging/logback/base.xml" />-->
  8. <contextName>logback</contextName>
  9. <!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义变量后,可以使“${}”来使用变量。 -->
  10. <!--Linux下的路径-->
  11. <!--<property name="log.path" value="/www/wwwroot/zdj_log/" />-->
  12. <property name="log.path" value="D:/log4J" />
  13. <!-- 彩色日志 -->
  14. <!-- 彩色日志依赖的渲染类 -->
  15. <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
  16. <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
  17. <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
  18. <!-- 彩色日志格式 -->
  19. <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}}"/>
  20. <!--输出到控制台-->
  21. <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
  22. <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->
  23. <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  24. <level>debug</level>
  25. </filter>
  26. <encoder>
  27. <Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
  28. <!-- 设置字符集 -->
  29. <charset>UTF-8</charset>
  30. </encoder>
  31. </appender>
  32. <!--输出到文件-->
  33. <!-- 时间滚动输出 level为 DEBUG 日志 -->
  34. <appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  35. <!-- 正在记录的日志文件的路径及文件名 -->
  36. <file>${log.path}/log_debug.log</file>
  37. <!--日志文件输出格式-->
  38. <encoder>
  39. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
  40. <charset>UTF-8</charset> <!-- 设置字符集 -->
  41. </encoder>
  42. <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
  43. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  44. <!-- 日志归档 -->
  45. <fileNamePattern>${log.path}/debug/log-debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
  46. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  47. <maxFileSize>100MB</maxFileSize>
  48. </timeBasedFileNamingAndTriggeringPolicy>
  49. <!--日志文件保留天数-->
  50. <maxHistory>15</maxHistory>
  51. </rollingPolicy>
  52. <!-- 此日志文件只记录debug级别的 -->
  53. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  54. <level>debug</level>
  55. <onMatch>ACCEPT</onMatch>
  56. <onMismatch>DENY</onMismatch>
  57. </filter>
  58. </appender>
  59. <!-- 时间滚动输出 level为 INFO 日志 -->
  60. <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  61. <!-- 正在记录的日志文件的路径及文件名 -->
  62. <file>${log.path}/log_info.log</file>
  63. <!--日志文件输出格式-->
  64. <encoder>
  65. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
  66. <charset>UTF-8</charset>
  67. </encoder>
  68. <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
  69. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  70. <!-- 每天日志归档路径以及格式 -->
  71. <fileNamePattern>${log.path}/info/log-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
  72. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  73. <maxFileSize>100MB</maxFileSize>
  74. </timeBasedFileNamingAndTriggeringPolicy>
  75. <!--日志文件保留天数-->
  76. <maxHistory>15</maxHistory>
  77. </rollingPolicy>
  78. <!-- 此日志文件只记录info级别的 -->
  79. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  80. <level>info</level>
  81. <onMatch>ACCEPT</onMatch>
  82. <onMismatch>DENY</onMismatch>
  83. </filter>
  84. </appender>
  85. <!-- 时间滚动输出 level为 WARN 日志 -->
  86. <appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  87. <!-- 正在记录的日志文件的路径及文件名 -->
  88. <file>${log.path}/log_warn.log</file>
  89. <!--日志文件输出格式-->
  90. <encoder>
  91. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
  92. <charset>UTF-8</charset> <!-- 此处设置字符集 -->
  93. </encoder>
  94. <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
  95. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  96. <fileNamePattern>${log.path}/warn/log-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
  97. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  98. <maxFileSize>100MB</maxFileSize>
  99. </timeBasedFileNamingAndTriggeringPolicy>
  100. <!--日志文件保留天数-->
  101. <maxHistory>15</maxHistory>
  102. </rollingPolicy>
  103. <!-- 此日志文件只记录warn级别的 -->
  104. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  105. <level>warn</level>
  106. <onMatch>ACCEPT</onMatch>
  107. <onMismatch>DENY</onMismatch>
  108. </filter>
  109. </appender>
  110. <!-- 时间滚动输出 level为 ERROR 日志 -->
  111. <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  112. <!-- 正在记录的日志文件的路径及文件名 -->
  113. <file>${log.path}/log_error.log</file>
  114. <!--日志文件输出格式-->
  115. <encoder>
  116. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
  117. <charset>UTF-8</charset> <!-- 此处设置字符集 -->
  118. </encoder>
  119. <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
  120. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  121. <fileNamePattern>${log.path}/error/log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
  122. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  123. <maxFileSize>100MB</maxFileSize>
  124. </timeBasedFileNamingAndTriggeringPolicy>
  125. <!--日志文件保留天数-->
  126. <maxHistory>15</maxHistory>
  127. </rollingPolicy>
  128. <!-- 此日志文件只记录ERROR级别的 -->
  129. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  130. <level>ERROR</level>
  131. <onMatch>ACCEPT</onMatch>
  132. <onMismatch>DENY</onMismatch>
  133. </filter>
  134. </appender>
  135. <!--
  136. <logger>用来设置某一个包或者具体的某一个类的日志打印级别、
  137. 以及指定<appender>。<logger>仅有一个name属性,
  138. 一个可选的level和一个可选的addtivity属性。
  139. name:用来指定受此logger约束的某一个包或者具体的某一个类。
  140. level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,
  141. 还有一个特俗值INHERITED或者同义词NULL,代表强制执行上级的级别。
  142. 如果未设置此属性,那么当前logger将会继承上级的级别。
  143. addtivity:是否向上级logger传递打印信息。默认是true。
  144. -->
  145. <!--<logger name="org.springframework.web" level="info"/>-->
  146. <!--<logger name="org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor" level="INFO"/>-->
  147. <!--
  148. 使用mybatis的时候,sql语句是debug下才会打印,而这里我们只配置了info,所以想要查看sql语句的话,有以下两种操作:
  149. 第一种把<root level="info">改成<root level="DEBUG">这样就会打印sql,不过这样日志那边会出现很多其他消息
  150. 第二种就是单独给dao下目录配置debug模式,代码如下,这样配置sql语句会打印,其他还是正常info级别:
  151. -->
  152. <!--
  153. root节点是必选节点,用来指定最基础的日志输出级别,只有一个level属性
  154. level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,
  155. 不能设置为INHERITED或者同义词NULL。默认是DEBUG
  156. 可以包含零个或多个元素,标识这个appender将会添加到这个logger。
  157. -->
  158. <!--开发环境:打印控制台-->
  159. <springProfile name="dev">
  160. <logger name="com.spring.boot.springbootdemo.mapper" level="debug"/>
  161. </springProfile>
  162. <root level="info">
  163. <appender-ref ref="CONSOLE" />
  164. <appender-ref ref="DEBUG_FILE" />
  165. <appender-ref ref="INFO_FILE" />
  166. <appender-ref ref="WARN_FILE" />
  167. <appender-ref ref="ERROR_FILE" />
  168. </root>
  169. </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

Spring Boot 集成日志logback + 控制台打印SQL的更多相关文章

  1. spring boot 配置mybatis plus 控制台打印sql

    spring boot 版本2.1.5 mybatis plus 版本3.1.1 aplication.properties中添加 logging.level.com.demo.system.mapp ...

  2. spring boot集成mybatis-plus插件进行自定义sql方法开发时报nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):

    spring boot集成mybatis-plus插件进行自定义sql方法开发时报nested exception is org.apache.ibatis.binding.BindingExcept ...

  3. Spring Boot默认日志logback配置解析

    前言 今天来介绍下Spring Boot如何配置日志logback,我刚学习的时候,是带着下面几个问题来查资料的,你呢 如何引入日志? 日志输出格式以及输出方式如何配置? 代码中如何使用? 正文 Sp ...

  4. Spring Boot使用AOP在控制台打印请求、响应信息

    AOP称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等. AOP简介 AOP全称Aspect Oriented Programming,面向切面,AOP主要实现的 ...

  5. 【spring boot】8.spring boot的日志框架logback使用

    在继续上一篇的Debug调试之后,把spring boot的日志框架使用情况逐步蚕食. 参考:http://tengj.top/2017/04/05/springbo 开篇之前,贴上完整applica ...

  6. Spring Boot 使用 Log4j2 & Logback 输出日志到 EKL

    文章目录 1.ELK 介绍 2.环境.软件准备 3.ELK 环境搭建 4.Spring Boot 配置示例 4.1.Log4j2 方式配置 4.2.Logback 方式配置 1.ELK 介绍 ELK ...

  7. spring boot集成mybatis只剩两个sql 并提示 Cannot obtain primary key information from the database, generated objects may be incomplete

    前言 spring boot集成mybatis时只生成两个sql, 搞了一个早上,终于找到原因了 找了很多办法都没有解决, 最后注意到生成sql的时候打印了一句话: Cannot obtain pri ...

  8. spring boot下使用logback或log4j生成符合Logstash标准的JSON格式

    spring boot下使用logback或log4j生成符合Logstash标准的JSON格式 一.依赖 由于配置中使用了json格式的日志输出,所以需要引入如下依赖 "net.logst ...

  9. Spring Boot 之日志记录

    Spring Boot 之日志记录 Spring Boot 支持集成 Java 世界主流的日志库. 如果对于 Java 日志库不熟悉,可以参考:细说 Java 主流日志工具库 关键词: log4j, ...

随机推荐

  1. Eclipse 的 Java Web 项目环境搭建

    从svn上拉取下来Eclipse的项目 IntelliJ IDEA自动识别到可编译的 src 类目录 Java Web 项目 html(一般命名为:WebRoot) 是整个项目输出的根目录. WEB- ...

  2. python实现贝叶斯网络的概率推导(Probabilistic Inference)

    写在前面 这是HIT2019人工智能实验三,由于时间紧张,代码没有进行任何优化,实验算法仅供参考. 实验要求 实现贝叶斯网络的概率推导(Probabilistic Inference) 具体实验指导书 ...

  3. HTML 5+ SDK 更新日志

    http://ask.dcloud.net.cn/article/103 离线打包 SDK App 最新Andorid平台SDK下载新版本Android SDK使用aar方式发布,部分资源和jar包整 ...

  4. 【水滴石穿】douban-movies-react-native

    这个项目的话,倒是可以做一个支架页面,就是你需要什么东西,你就可以在里面加,不过也是比较难的地方 就是数据流,数据处理的部分.react可以处理数据的方式很多,没有见过类似于古老的vue时候可以使用的 ...

  5. Path Sum II深度优先找路径

    Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given su ...

  6. c:if标签判断不为空和其他的值判断

    今天用<c:if test=""></c:if>标签时 <c:if test="${sl.chc_status==1 }"> ...

  7. List.Sort 排序用法收集

    使用Lambda表达式,实现代码如下: private static void SortByLambda()        {            List<Article> list ...

  8. database homework3

    查询所有大于60分的学生的姓名和学号 (DISTINCT: 去重) mysql> select student.sname,student.sid,score.number from stude ...

  9. Anaconda入门使用指南

    打算学习 Python 来做数据分析的你,是不是在开始时就遇到各种麻烦呢? 到底该装 Python2 呢还是 Python3 ? 为什么安装 Python 时总是出错? 怎么安装工具包呢? 为什么提示 ...

  10. Directx11教程(62) tessellation学习(4)

    原文:Directx11教程(62) tessellation学习(4)       现在看看四边形在不同tess factor时,四边形细分的细节,下图是tess factor1-8时候的细分.te ...