zoukankan      html  css  js  c++  java
  • springboot + log4j2 打印 sql 日志到日志文件

    框架:springboot + log4j2 日志框架;

    在yml文件指定mapper接口包名:

    不用在yml 文件下添加:mybatis.configuration = org.apache.ibatis.logging.stdout.StdOutImpl

    该标签亲测作用只是在控制台输入sql日志,如果想将sql打印到日志文件中,有了它的存在,只能在控制台打印sql,日志文件是不会打印的;

    如图所示:

     log4j2.xml  文件 appenders 标签下为

     添加到 loggers 下:

     完整的 log4j2.xml 内容如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <properties>
            <Property name="app_name">d:gxs-log</Property>
            <Property name="log_path">${app_name}</Property>
        </properties>
        <appenders>
            <console name="Console" target="SYSTEM_OUT">
                <PatternLayout pattern="[%d][%t][%p][%l] %m%n" />
                <!--<ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="DENY"/>-->
            </console>
    
            <RollingFile name="RollingFileDebug" fileName="${log_path}/debug.log"
                         filePattern="${log_path}/$${date:yyyy-MM}/debug-%d{yyyy-MM-dd}-%i.log.gz">
                <Filters>
                    <ThresholdFilter level="DEBUG" />
                    <ThresholdFilter level="INFO" onMatch="DENY" onMismatch="NEUTRAL" />
                </Filters>
                <PatternLayout pattern="[%d][%t][%p][%c:%L] %m%n" />
                <Policies>
                    <TimeBasedTriggeringPolicy interval="1" modulate="true" /> <!-- 归档每天的文件 -->
                    <SizeBasedTriggeringPolicy size="2 MB" /> <!-- 限制单个文件大小 -->
                </Policies>
                <DefaultRolloverStrategy compressionLevel="0" max="10"/>  <!-- 限制每天文件个数 -->
            </RollingFile>
    
            <RollingFile name="RollingFileInfo" fileName="${log_path}/info.log"
                         filePattern="${log_path}/$${date:yyyy-MM}/info-%d{yyyy-MM-dd}-%i.log.gz">
                <Filters>
                    <ThresholdFilter level="INFO" />
                    <ThresholdFilter level="WARN" onMatch="DENY" onMismatch="NEUTRAL" />
                </Filters>
                <PatternLayout pattern="[%d][%t][%p][%c:%L] %m%n" />
                <Policies>
                    <TimeBasedTriggeringPolicy interval="1" modulate="true" /> <!-- 归档每天的文件 -->
                    <SizeBasedTriggeringPolicy size="2 MB" /> <!-- 限制单个文件大小 -->
                </Policies>
                <DefaultRolloverStrategy compressionLevel="0" max="10"/>  <!-- 限制每天文件个数 -->
            </RollingFile>
    
            <RollingFile name="RollingFileWarn" fileName="${log_path}/warn.log"
                         filePattern="${log_path}/$${date:yyyy-MM}/warn-%d{yyyy-MM-dd}-%i.log.gz">
                <Filters>
                    <ThresholdFilter level="WARN" />
                    <ThresholdFilter level="ERROR" onMatch="DENY" onMismatch="NEUTRAL" />
                </Filters>
                <PatternLayout pattern="[%d][%t][%p][%c:%L] %m%n" />
                <Policies>
                    <TimeBasedTriggeringPolicy interval="1" modulate="true" />
                    <SizeBasedTriggeringPolicy size="2 MB" />
                </Policies>
                <DefaultRolloverStrategy compressionLevel="0" max="10"/>
            </RollingFile>
    
            <RollingFile name="RollingFileError" fileName="${log_path}/error.log"
                         filePattern="${log_path}/$${date:yyyy-MM}/error-%d{yyyy-MM-dd}-%i.log.gz">
                <ThresholdFilter level="ERROR" />
                <PatternLayout pattern="[%d][%t][%p][%c:%L] %m%n" />
                <Policies>
                    <TimeBasedTriggeringPolicy interval="1" modulate="true" />
                    <SizeBasedTriggeringPolicy size="2 MB" />
                </Policies>
                <DefaultRolloverStrategy compressionLevel="0" max="10"/>
            </RollingFile>
        </appenders>
    
        <loggers>
    
            <!--过滤掉spring和mybatis的一些无用的DEBUG信息-->
            <!--<logger name="org.mybatis" level="debug" additivity="true">
                <AppenderRef ref="Console"/>
            </logger>-->
            <!--监控系统信息-->
            <!--若是additivity设为false,则 子Logger 只会在自己的appender里输出,而不会在 父Logger 的appender里输出。-->
            <!--<Logger name="org.springframework" level="debug" additivity="true">
                <AppenderRef ref="Console"/>
            </Logger>-->
    
            <root level="info">
                <appender-ref ref="Console" />
                <appender-ref ref="RollingFileDebug" />
                <appender-ref ref="RollingFileInfo" />
                <appender-ref ref="RollingFileWarn" />
                <appender-ref ref="RollingFileError" />
            </root>
        </loggers>
    
    </configuration>
    View Code
  • 相关阅读:
    175. Combine Two Tables
    VirtualBox下安装CentOS7系统
    idea配置maven
    idea配置jdk
    SpringBoot在yml中添加自定义配置并识别
    多表联查另一个表的所有
    java后台判断字符串相等 equals
    查询字段内容截取
    idea刷新项目、清除项目缓存
    SpringBoot集成FreeMarker
  • 原文地址:https://www.cnblogs.com/gxs-future/p/14042947.html
Copyright © 2011-2022 走看看