37

にそのような構成があることがわかりましたapplication.conf

# If enabled, log SQL statements being executed.
db.default.logStatements=true

有効にしましたが、実行された SQL を記録したログ ファイルが見つかりません。

どこでそれを見つけることができますか、または何か見逃していますか?

4

4 に答える 4

58

1.application.conf

確実に:

db.default.logStatements=true

この設定は、実際には play2 で使用される接続プールである bonecp の設定です。

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>

com.jlbox.bonecpbonecpとは play2 用ですplayapplication

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

プレイを再開すると、実行されたすべての SQL (パラメーター値を含む) が表示されます。

于 2012-03-09T11:10:31.943 に答える
6

私が知る限り、これは Play 2.4.2 では機能しなくなりました。デフォルトの接続プール エンジンが HikariCP に変更されました。

これを application.conf に追加し、以下の指示に従ってください。うまくいくはずです:

アプリケーション.conf

db.default.pool = "bonecp"
db.default.bonecp.logStatements=true

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>
于 2015-08-11T01:05:26.640 に答える
1

HikariCP (Play 2.4 以降) については、https : //github.com/brettwooldridge/HikariCP/wiki/JDBC-Logging を参照してください。

現時点では、HikariCP には本質的に JDBC ロギングは含まれていません。これは意識的な決定であり、見落としや未開発の将来のロードマップ項目ではありません。ほとんどすべての主要なデータベースには、独自にログを記録できる JDBC ドライバーがあります。そうでない場合は、log4jdbc-log4j2 が適切なオプションです。

この wiki ページには、一般的なデータベースと log4jdbc-log4j2 のログを有効にする方法が記載されています。

log4jdbc-log4j2 の場合: に追加"org.bgee.log4jdbc-log4j2" % "log4jdbc-log4j2-jdbc4.1" % "1.16"libraryDependenciesます。構成はhttps://code.google.com/archive/p/log4jdbc-log4j2/で説明されています。

于 2016-04-11T12:01:27.453 に答える