【问题标题】:How to log the SQL being run by the node in VaultService?如何在 VaultService 中记录节点正在运行的 SQL?
【发布时间】:2018-11-21 18:29:37
【问题描述】:

我想在日志中看到使用.queryBy 时正在运行的SQL。如何将其添加到 log4j xml 以增加可见性,即调试级别?

我的 xml 文件中有以下日志。

<Loggers>
   <Root level=“info”>
       <AppenderRef ref=“Console-Appender”/>
       <AppenderRef ref=“RollingFile-Appender”/>
   </Root>
   <Logger name=“net.corda” level=“trace” additivity=“false”>
       <AppenderRef ref=“Console-Appender”/>
       <AppenderRef ref=“RollingFile-Appender”/>
   </Logger>
<Logger name=“net.corda.node.services.config.ConfigHelper” level=“warn” additivity=“false”>
       <AppenderRef ref=“Console”/>
</Logger>
       <Logger name=“org.hibernate.SQL” level=“trace” additivity=“false”>
           <AppenderRef ref=“Console-Appender”/>
       </Logger>

【问题讨论】:

    标签: corda


    【解决方案1】:

    在节点的 log4j2.xml 或 log4j2-test.xml(用于测试)中,正确的语法是将级别设置为 debug,如下所示:

        <Logger name="org.hibernate.SQL" level="debug" additivity="false">
            <AppenderRef ref="Console-Appender"/>
            <AppenderRef ref="RollingFile-Appender"/>
        </Logger>
    

    请确保您正在修改正确的 log4j2.xml 文件。

    【讨论】:

    【解决方案2】:

    如果您期望的结果与实际返回的查询结果不匹配,您可以在 log4j2.xml 配置文件中添加一个条目以显示已执行的 SQL 语句:

    <Logger name="org.hibernate.SQL" level="debug" additivity="false">
    
        <AppenderRef ref="Console-Appender"/>
    
    </Logger>
    

    如果您针对单元测试运行,您也需要在 log4j2-test.xml 中更改它。

    【讨论】:

    • 在问题中添加了我的日志 xml 作为示例。它仍然无法正常工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-24
    • 2023-02-18
    • 1970-01-01
    • 1970-01-01
    • 2021-09-14
    • 1970-01-01
    • 2023-01-04
    相关资源
    最近更新 更多