如何记录由VaultService中的节点运行的SQL?

时间:2018-11-21 08:46:39

标签: corda

我想在日志中看到使用.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>

2 个答案:

答案 0 :(得分: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文件。

答案 1 :(得分:0)

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

<Logger name="org.hibernate.SQL" level="debug" additivity="false">

    <AppenderRef ref="Console-Appender"/>

</Logger>

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