一: 控制台打印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. 解决Apache日志"internal dummy connection"方法

    最近查看服务器中apache日志,发现有大量的 OPTIONS * HTTP/1.0" 200 - "-" "Apache (internal dummy co ...

  2. Android4.0以上源码中的DiskLruCache类简介

    /* * Copyright (C) 2011 The Android Open Source Project * * Licensed under the Apache License, Versi ...

  3. python学习之旅1-2(基础知识)

    三,python基础初识. 1.运行python代码. 在d盘下创建一个t1.py文件内容是: print('hello world') 打开windows命令行输入cmd,确定后 写入代码pytho ...

  4. iOS app发布流程

    http://www.xuebuyuan.com/1980497.html http://blog.csdn.net/alincexiaohao/article/details/38725367 ap ...

  5. PersistGate轻松几步让Redux实现数据持久化

    在开发的过程中,数据用redux管理,觉得希望将数据持久化保存,也就是说当用户下一次打开app或网站的时候,我们希望浏览器/APP自动加载出上次的数据,怎么办?有没有一个

  6. 使用Data Lake Analytics读/写RDS数据

    Data Lake Analytics 作为云上数据处理的枢纽,最近加入了对于RDS(目前支持 MySQL , SQLServer ,Postgres 引擎)的支持, 这篇教程带你玩转 DLA 的 R ...

  7. 【JZOJ4846】【NOIP2016提高A组集训第5场11.2】行走

    题目描述 数据范围 对于70%的数据保证 n <= 1000 对于100%的数据保证 n,q <= 10^5,c_i,v_i <= 10^{18} 保证每次修改后的边权小于等于原来的 ...

  8. uva 10453 【回文串区间dp】

    Uva 10453 题意:给定字符串,问最少插入多少个字符使其变成回文串,并任意输出一种结果. 题解:和Uva 10739类似,这里是只能增加.类似定义dp[i][j]表示子串Si...Sj变为回文串 ...

  9. cocos2dx 2.2.3在Windows 7 64bit上搭建开发环境

    最终弄完了cocos2dx 2.2.3在windows 7 64bit上的环境搭建,过程比較揪心.揪心的主要原因还是引擎的开发人员和官方文档的写作者都是偏爱MAC OS的,所以官方文档中的安装方法是以 ...

  10. windows7蓝屏0x000000c4

    故障还原: 360更新弹出更新提示,于是选择了关机自动更新,第二天开机发现电脑蓝屏报0x000000c4错误! 故障排查: 1.无法从最后一次正确配置启动windows7 2.无法进入安全模式 该错误 ...