2024年2月6日发(作者:)
Druid搭配log4j2输出SQL语句和结果
一、引言其实Druid的内置了log4jdbc来显示SQL语句,虽然显示效果不如原生的log4jdbc效果好,但是因为内置所以不需要其他更多的配置。二、使用1. 创建基于druid的logger <bean id="log-filter"
class="4jLogFilter">
<property name="connectionLogEnabled"
value="false"/> <property
name="statementLogEnabled" value="false"/>
<property name="resultSetLogEnabled" value="true"/>
<property name="statementExecutableSqlLogEnable"
value="true"/> </bean>a. resultSetLogEnabled表示是否显示结果集。b.
statementExecutableSqlLogEnable 表示是否显示SQL语句。2. 在 DruidDataSource中配置 <!-- 数据连接池
--> <bean id="dataSource"
class="ataSource">
..... <property name="filters"
value="stat,wall"/> ...... <property
name="proxyFilters"> <list>
<ref bean="log-filter"/> </list>
</property> </bean>proxyFilters是代理filter的意思,将我们在第一步创建的log-filter写入进去。三、log4j2中的设置<?xml version="1.0"
encoding="UTF-8"?><!-- Log4j 2.x 配置文件。每30秒自动检查和应用配置文件的更新; --><configuration
status="warn" monitorInterval="30" strict="true"
schema=""> <Properties>
<Property
name="logdir">${sys:}/logs</Property> </Properties> <appenders>
<!-- 输出到控制台 --> <console
name="Console" target="SYSTEM_OUT">
<!-- 需要记录的级别 --> <!--
<ThresholdFilter level="debug" onMatch="ACCEPT"
onMismatch="DENY" /> -->
<PatternLayout pattern="%date{yyyy-MM-dd
HH:mm:} [%thread] %level [%C{36}.%M]
- %msg%n"/> </console> <!--
输出到文件,按天或者超过80MB分割 -->
<rollingFile name="RollingFile"
fileName=""
filePattern="${logdir}/logs/$${date:yyyy-MM}/xjj-%d{yyyy-
MM-dd}-%"> <!-- 需要记录的级别
--> <!-- <ThresholdFilter level="info"
onMatch="ACCEPT" onMismatch="DENY" /> -->
<PatternLayout pattern="%date{yyyy-MM-dd
HH:mm:} [%thread] %level [%C{36}.%M]
- %msg%n"/> <policies>
<onStartupTriggeringPolicy/>
<timeBasedTriggeringPolicy/>
<sizeBasedTriggeringPolicy size="1 MB"/>
</policies> </rollingFile>
</appenders> <loggers> <!-- 全局配置 --> <root level="info">
<appenderRef ref="Console"/>
<appenderRef ref="RollingFile"/> </root>
<logger name="" level="debug"
additivity="false"> <appenderRef
ref="Console"/> </logger>
<logger name="e" level="debug"
additivity="false"> <appender-ref
ref="Console"/> </logger>
<!-- druid配置 --> <logger
name="ent" level="debug"
additivity="false"> <appender-ref
ref="Console"/> </logger>
<logger name="Set" level="debug"
additivity="false"> <appender-ref
ref="Console"/> </logger>
</loggers></configuration>其中需要特别注意41行之后的代码,表示是否显示sql语句和结果,如果不想显示结果,可以在第一步中将resultSetLogEnabled 改为false
本文发布于:2024-02-06 23:57:52,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170723507462857.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |