springboot配置log4j2输出mybatis的sql语句日志记录,包括控制台输出sql语句

1、日志记录效果图

2、控制台输出效果图

3、application-dev.yml

# mybatis

mybatis:

  mapper-locations: classpath:mapper/*.xml  #注意:必定要对应mapper映射xml文件的所在路径

  type-aliases-package: com.xuan.entity  # 注意:对应实体类的路径

  configuration:

    #org.apache.ibatis.logging.stdout.StdOutImpl 控制台打印sql语句方便调试sql语句执行错误

    #org.apache.ibatis.logging.log4j2.Log4j2Impl:这个不在控制台打印查询结果,但是在log4j中打印

    log-impl: org.apache.ibatis.logging.log4j2.Log4j2Impl

    mapUnderscoreToCamelCase: true # 开启驼峰命名转换法

# 指定log4j2作为日志记录

logging:

    config: classpath:log4j2-dev.xml

    level:

    #这个指定你的dao层,也就是mapper文件的所在包

      com.xuan.dao: DEBUG

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

4、log4j2-dev.xml

<?xml version=”1.0″ encoding=”UTF-8″?>

<!–Configuration后面的status,这个用于设置log4j2自身内部的信息输出,可以不设置,当设置成trace时,你会看到log4j2内部各种详细输出–>

<!–monitorInterval:Log4j能够自动检测修改配置 文件和重新配置本身,设置间隔秒数–>

<configuration monitorInterval=”5″>

    <!–日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL –>

    <!–变量配置–>

    <Properties>

        <!– 格式化输出:%date表明日期,%thread表明线程名,%-5level:级别从左显示5个字符宽度 %msg:日志消息,%n是换行符–>

        <!– %logger{36} 表明 Logger 名字最长36个字符 –>

        <property name=”LOG_PATTERN” value=”%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} – %msg%n” />

        <!– 定义日志存储的路径,不要配置相对路径 –>

        <property name=”FILE_PATH” value=”./logs/” />

        <property name=”FILE_NAME” value=”lipstick_backend” />

    </Properties>

    <appenders>

        <console name=”Console” target=”SYSTEM_OUT”>

            <!–输出日志的格式–>

            <PatternLayout pattern=”${LOG_PATTERN}”/>

            <!–控制台只输出level及其以上级别的信息(onMatch),其他的直接拒绝(onMismatch)–>

            <ThresholdFilter level=”info” onMatch=”ACCEPT” onMismatch=”DENY”/>

        </console>

        <!–文件会打印出所有信息,这个log每次运行程序会自动清空,由append属性决定,适合临时测试用–>

        <File name=”Filelog” fileName=”${FILE_PATH}/test.log” append=”false”>

            <PatternLayout pattern=”${LOG_PATTERN}”/>

        </File>

        <!– 这个会打印出所有的info及以下级别的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档–>

        <RollingFile name=”RollingFileInfo” fileName=”${FILE_PATH}/info.log” filePattern=”${FILE_PATH}/${FILE_NAME}-INFO-%d{yyyy-MM-dd}_%i.log.gz”>

            <!–控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)–>

            <ThresholdFilter level=”info” onMatch=”ACCEPT” onMismatch=”DENY”/>

            <PatternLayout pattern=”${LOG_PATTERN}”/>

            <Policies>

                <!–interval属性用来指定多久滚动一次,默认是1 hour–>

                <TimeBasedTriggeringPolicy interval=”1″/>

                <SizeBasedTriggeringPolicy size=”10MB”/>

            </Policies>

            <!– DefaultRolloverStrategy属性如不设置,则默认为最多同一文件夹下7个文件开始覆盖–>

            <DefaultRolloverStrategy max=”15″/>

        </RollingFile>

        <!– 这个会打印出所有的warn及以下级别的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档–>

        <RollingFile name=”RollingFileWarn” fileName=”${FILE_PATH}/warn.log” filePattern=”${FILE_PATH}/${FILE_NAME}-WARN-%d{yyyy-MM-dd}_%i.log.gz”>

            <!–控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)–>

            <ThresholdFilter level=”warn” onMatch=”ACCEPT” onMismatch=”DENY”/>

            <PatternLayout pattern=”${LOG_PATTERN}”/>

            <Policies>

                <!–interval属性用来指定多久滚动一次,默认是1 hour–>

                <TimeBasedTriggeringPolicy interval=”1″/>

                <SizeBasedTriggeringPolicy size=”10MB”/>

            </Policies>

            <!– DefaultRolloverStrategy属性如不设置,则默认为最多同一文件夹下7个文件开始覆盖–>

            <DefaultRolloverStrategy max=”15″/>

        </RollingFile>

        <!– 这个会打印出所有的error及以下级别的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档–>

        <RollingFile name=”RollingFileError” fileName=”${FILE_PATH}/error.log” filePattern=”${FILE_PATH}/${FILE_NAME}-ERROR-%d{yyyy-MM-dd}_%i.log.gz”>

            <!–控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)–>

            <ThresholdFilter level=”error” onMatch=”ACCEPT” onMismatch=”DENY”/>

            <PatternLayout pattern=”${LOG_PATTERN}”/>

            <Policies>

                <!–interval属性用来指定多久滚动一次,默认是1 hour–>

                <TimeBasedTriggeringPolicy interval=”1″/>

                <SizeBasedTriggeringPolicy size=”10MB”/>

            </Policies>

            <!– DefaultRolloverStrategy属性如不设置,则默认为最多同一文件夹下7个文件开始覆盖–>

            <DefaultRolloverStrategy max=”15″/>

        </RollingFile>

    </appenders>

    <!–Logger节点用来单独指定日志的形式,列如要为指定包下的class指定不同的日志级别等。–>

    <!–然后定义loggers,只有定义了logger并引入的appender,appender才会生效–>

    <loggers>

        <!–过滤掉spring和mybatis的一些无用的DEBUG信息–>

        <logger name=”org.mybatis” level=”info” additivity=”false”>

            <AppenderRef ref=”Console”/>

        </logger>

        <!–监控系统信息–>

        <!–若是additivity设为false,则 子Logger 只会在自己的appender里输出,而不会在 父Logger 的appender里输出。–>

        <Logger name=”org.springframework” level=”info” additivity=”false”>

            <AppenderRef ref=”Console”/>

        </Logger>

        <!–配置输出sql语句–>

        <logger name=”org.apache.ibatis” level=”DEBUG”/>

        <logger name=”java.sql.Connection” level=”DEBUG”/>

        <logger name=”java.sql.Statement” level=”DEBUG”/>

        <logger name=”java.sql.PreparedStatement” level=”DEBUG”/>

        <root level=”info”>

            <appender-ref ref=”Console”/>

            <appender-ref ref=”Filelog”/>

            <appender-ref ref=”RollingFileInfo”/>

            <appender-ref ref=”RollingFileWarn”/>

            <appender-ref ref=”RollingFileError”/>

        </root>

    </loggers>

</configuration>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

————————————————

版权声明:本文为CSDN博主「夜空中的小轩」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_41741884/article/details/103012745

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
兔子长虎牙的头像 - 鹿快
评论 抢沙发

请登录后发表评论

    暂无评论内容