logback打印sql
Posted JAVA成长伴侣
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了logback打印sql相关的知识,希望对你有一定的参考价值。
以前服务器上不打印sql, 因为sql日志太多,会将其他日志刷掉(日志太多自动删除),参考别人将sql日志分开来,互补影响。挺不错的思路,预研如下。
<appender name="DRUIDSQL" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 日志文件的路径及文件名 -->
<file>${LOG_HOME}/${COMPONENT_NAME}_sql.log</file>
<!-- 追加方式记录日志 -->
<append>true</append>
<!-- 日志记录器的滚动策略,按日期,按大小记录 -->
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${LOG_HOME}/${COMPONENT_NAME}_sql.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<maxFileSize>10MB</maxFileSize>
<maxHistory>30</maxHistory>
<totalSizeCap>2GB</totalSizeCap>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} [%X{RequestId}] - %msg%n</pattern>
<charset>utf-8</charset>
</encoder>
</appender>
方法1:配置dao路径
yml文件
logging:
level:
com:
yangyc:
baseservice:
test:
mapper: debug
logback-config.xml
<logger name="com.yangyc.baseservice.ms.mapper" level="debug" additivity="false">
<appender-ref ref="DRUIDSQL"/>
</logger>
方法2:
yml文件
spring:
:
druid:
filters: stat,slf4j
logback-config.xml
<logger name="druid.sql.Statement" level="debug" additivity="false">
<appender-ref ref="DRUIDSQL"/>
</logger>
方法2一直失败,没有打印sql,后面找到原因是durid的filters没有配置slf4j
另外附上log4j2的配置
yml文件
logging:
level:
com:
yangyc:
baseservice:
test:
mapper: debug
logback-config.xml
<RollingFile name="DRUIDSQL" fileName="${logFilePath}/druid-sql.log"
filePattern="${logFilePath}/$${date:yyyy-MM}/druid-%d{yyyy-MM-dd}-%i.log">
<PatternLayout pattern="${LOG_PATTERN}"/>
<Policies>
<SizeBasedTriggeringPolicy size="200 MB"/>
<TimeBasedTriggeringPolicy/>
</Policies>
</RollingFile>
<logger name="druid.sql.Statement" level="debug" additivity="false">
<appender-ref ref="DRUIDSQL"/>
</logger>
以上是关于logback打印sql的主要内容,如果未能解决你的问题,请参考以下文章