如何跟踪H2内存中嵌入式数据库的SQL请求?
文档说跟踪文件与数据库文件位于同一目录中,但对于内存中嵌入式数据库,我没有数据库目录(在Windows下).
我尝试使用slf4j/logback将跟踪重定向到给定文件
TRACE_LEVEL_FIle=4;TRACE_LEVEL_SYSTEM_OUT=3
Run Code Online (Sandbox Code Playgroud)
在数据库URL和以下logback.xml配置文件中,但没有运气:
<configuration scan="true">
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>mylogfile.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>%d{yyyyMMdd}_mylogfile.log</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>%date{yyyyMMdd HH:mm:ss} %contextName[%thread] %level %logger{0} - %msg%n</pattern>
</encoder>
</appender>
<logger name="com.myapp" level="WARN">
<appender-ref ref="FILE" />
</logger>
<logger name="h2database" level="TRACE">
<appender-ref ref="FILE" />
</logger> -->
<root level="WARN">
<appender-ref ref="FILE" />
</root>
</configuration>
Run Code Online (Sandbox Code Playgroud)
我的logback配置文件可以正常用于其他日志.
任何的想法?
我不完全确定,但根据我的测试,似乎你删除TRACE_LEVEL_SYSTEM_OUT=3然后它会工作.你能试试吗?示例数据库URL:
jdbc:h2:mem:test;TRACE_LEVEL_FIle=4
Run Code Online (Sandbox Code Playgroud)
代替
jdbc:h2:mem:test;TRACE_LEVEL_FIle=4;TRACE_LEVEL_SYSTEM_OUT=3
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8164 次 |
| 最近记录: |