【问题标题】:Querydsl logging queries with bindingsQuerydsl 使用绑定记录查询
【发布时间】:2015-02-26 11:31:29
【问题描述】:

在 prepareStatementAndSetParameters 方法中调用 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);
        }
    }

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

【问题讨论】:

    标签: oracle logging binding configuration querydsl


    【解决方案1】:

    logger 来自 SLF4J API。根据 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 还会添加一些调试输出。

    【讨论】:

      猜你喜欢
      • 2017-05-19
      • 2019-04-04
      • 2022-08-08
      • 1970-01-01
      • 2018-08-21
      • 1970-01-01
      • 1970-01-01
      • 2017-04-08
      • 1970-01-01
      相关资源
      最近更新 更多