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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM