Querydsl使用绑定记录查询

时间:2014-12-30 09:50:56

标签: oracle logging binding configuration querydsl

在prepareStatementAndSetParameters mehtod中调用logQuery - SQLInsertClause类

   protected void logQuery(Logger logger, String queryString, Collection<Object> parameters) {
        String normalizedQuery = queryString.replace('\n', ' ');
        MDC.put(QueryBase.MDC_QUERY, normalizedQuery);
        MDC.put(QueryBase.MDC_PARAMETERS, String.valueOf(parameters));
        if (logger.isDebugEnabled()) {
            logger.debug(normalizedQuery);
        }
    }

如何将调试级别设置为记录器?

1 个答案:

答案 0 :(得分:0)

来自SLF4J API的logger。根据API背后的记录器,您可以使用该基础日志记录实现的工具。

例如,我们使用Logback Classic(依赖ch.qos.logback:logback-classic),我可以在JVM参数中显式覆盖与-Dlogback.configurationFile=devel-logback.xml一起使用的配置文件。记录了默认机制here。我的文件看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%date %level [%.60thread] %logger{1} %msg%n</pattern>
        </encoder>
    </appender>

    <logger name="com.mysema.query.jpa.impl.JPAQuery" level="DEBUG"/>
    <!-- more loggers -->

    <root level="DEBUG">
        <appender-ref ref="CONSOLE"/>
    </root>
</configuration>

在初始化logback时,向JVM参数添加-Dlogback.debug=true会添加一些调试输出。