哪里可以看到play2中记录的sql语句?

Fre*_*ind 36 sql logging anorm playframework-2.0

我发现有这样的配置application.conf:

# If enabled, log SQL statements being executed.
db.default.logStatements=true
Run Code Online (Sandbox Code Playgroud)

我已启用它,但我找不到任何记录执行的sqls的日志文件.

我在哪里可以找到它,或者我会错过什么?

Fre*_*ind 57

1. application.conf

确保:

db.default.logStatements=true
Run Code Online (Sandbox Code Playgroud)

此配置实际上是bonecp的设置,它是play2中使用的连接池

2.自定义记录器

添加自定义记录器配置conf/logger.xml.

内容可能是:

<configuration>

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%-5level - %msg%n</pattern>
        </encoder>
    </appender>

    <logger name="com.jolbox.bonecp" level="DEBUG">
        <appender-ref ref="STDOUT" />
    </logger>

    <logger name="play" level="DEBUG">
        <appender-ref ref="STDOUT" />
    </logger>

    <logger name="application" level="DEBUG">
        <appender-ref ref="STDOUT" />
    </logger>

</configuration>
Run Code Online (Sandbox Code Playgroud)

com.jlbox.bonecpbonecp,和playapplication是play2.

3.在application.conf中禁用记录器设置

在以下位置注释记录器设置application.conf:

# Logger
# ~~~~~
# You can also configure logback (http://logback.qos.ch/), by providing a logger.xml file in the conf directory .

# Root logger:
# logger.root=ERROR

# Logger used by the framework:
# logger.play=INFO

# Logger provided to your application:
# logger.application=DEBUG
Run Code Online (Sandbox Code Playgroud)

重新开始播放,您将看到所有已执行的SQL(包括参数值).

  • 完美的演奏2.3.4 (2认同)

Gab*_*own 5

从我能说的内容来看,这不再适用于Play 2.4.2.默认连接池引擎已更改为HikariCP.

将其添加到您的application.conf并按照以下说明操作.事情应该有效:

Application.conf

db.default.pool = "bonecp"
db.default.bonecp.logStatements=true
Run Code Online (Sandbox Code Playgroud)

conf/logger.xml 将自定义记录器配置添加到conf/logger.xml.

<configuration>

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%-5level - %msg%n</pattern>
        </encoder>
    </appender>

    <logger name="com.jolbox.bonecp" level="DEBUG">
        <appender-ref ref="STDOUT" />
    </logger>

    <logger name="play" level="DEBUG">
        <appender-ref ref="STDOUT" />
    </logger>

    <logger name="application" level="DEBUG">
        <appender-ref ref="STDOUT" />
    </logger>

</configuration>
Run Code Online (Sandbox Code Playgroud)