17

データベースとのやり取りに Slick を使用することにした Play 2.1 アプリを作成しています。
ただし、Slick のログを構成/有効にする方法に関するドキュメントが見つかりません。
誰もこれを知っていますか?

4

8 に答える 8

16

Slick は、レベル以上のロギングをほとんど行いませんDEBUG。次application.confの行を追加する場合:

logger.scala.slick=DEBUG

クエリ コンパイラからの情報が殺到することになります。

おそらく、セッション情報 (接続プールの管理、クエリ文字列など) に関心があるだけでしょう。その場合、追加するだけです

logger.scala.slick.session=DEBUG

Play アプリケーションのapplication.conf

于 2013-08-22T06:09:38.533 に答える
16

Slick なしの PlayFramework 2.5.0 の場合

すべてのデータベース構成に追加

db.default.logSql=true

logback.xml ファイルに追加します。

<logger name="logger.org.jdbcdslog.StatementLogger"  level="INFO" /> 

すべてのステートメントがログに記録されます。

参照:

https://www.playframework.com/documentation/2.5.x/ScalaDatabase#How-to-configure-SQL-log-statement

Slick 3.0 で遊ぶには、

<logger name="slick.jdbc.JdbcBackend.statement"  level="DEBUG" /> 
于 2016-03-07T14:48:51.867 に答える
11

select ステートメントのみを出力するには、play-2.2.1 と slick 2.0.0 で、application.conf に次のように記述します。

logger.scala.slick.jdbc.JdbcBackend.statement=DEBUG
于 2014-02-05T05:16:03.503 に答える
6

現時点では Play を使用していませんが、logbackを使用するように構成します。これは、 Play のログ記録を設定するための適切な説明です。

1つのオプションは追加することです

logger.scala.slick=INFO 

Play のマニュアルに従って、application.conf に追加します。もう 1 つは、カスタム logback.xml がある場合は、そこに次の行を追加することです。

   <logger name="scala.slick" level="INFO" />
于 2013-01-23T06:11:20.357 に答える
4

Slick はロギングにslf4jを使用しているようです。そのため、プロジェクトなどに依存関係を追加slf4j-simpleし、Slick クラスに必要なログ レベルを設定することができます。

于 2013-01-22T07:31:48.263 に答える
4

logback.xmlを Slick ロガーと統合しようとしましたが、うまくいきません。

代わりに、 logger.xmlを変更し(バージョンに基づいて GitHub から最新バージョンを取得します)、slick logger を追加すると機能します。

<configuration>    
  <conversionRule conversionWord="coloredLevel" converterClass="play.api.Logger$ColoredLevel" />

  <appender name="FILE" class="ch.qos.logback.core.FileAppender">
     <file>${application.home}/logs/application.log</file>
     <encoder>
       <pattern>%date - [%level] - from %logger in %thread %n%message%n%xException%n</pattern>
     </encoder>
   </appender>

  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>%coloredLevel %logger{15} - %message%n%xException{5}</pattern>
    </encoder>
  </appender>

  <logger name="play" level="INFO" />
  <logger name="application" level="DEBUG" />

  <!-- Off these ones as they are annoying, and anyway we manage configuration ourself -->
  <logger name="com.avaje.ebean.config.PropertyMapLoader" level="OFF" />
  <logger name="com.avaje.ebeaninternal.server.core.XmlConfigLoader" level="OFF" />
  <logger name="com.avaje.ebeaninternal.server.lib.BackgroundThread" level="OFF" />
  <logger name="com.gargoylesoftware.htmlunit.javascript" level="OFF" />
  <logger name="scala.slick" level="SQL" />

  <root level="ERROR">
    <appender-ref ref="STDOUT" />
    <appender-ref ref="FILE" />
  </root>

</configuration>
于 2013-08-06T13:57:50.910 に答える
1

slick 3.1.0 の場合、これをディレクトリに貼り付けlogback.xmlます。resources

<?xml version="1.0" encoding="UTF-8"?>

<configuration>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <logger name="application" level="DEBUG"/>
    <logger name="com.zaxxer.hikari" level="INFO"/>
    <logger name="slick" level="INFO"/>

    <root level="DEBUG">
        <appender-ref ref="STDOUT"/>
    </root>
</configuration>
于 2015-12-10T04:57:58.437 に答える