39

やあ、私はデータベース接続プールのためにc3p0を使い始めたばかりです。現在、log4j出力に接続しています。c3p0に対してのみログオフまたは少なくともSEVEREレベルに設定するにはどうすればよいですか?プロパティファイルを微調整しようとしましたが、正しく取得されているかどうかわかりません。

それをオフにする最善の方法について何かアイデアはありますか?

ありがとう

更新:これはlog4j.propertiesファイルで機能するようです

log4j.logger.com.mchange.v2.c3p0.impl=INFO

log4j.logger.com.mchange=INFO
4

6 に答える 6

41

構成ファイルを使用していない場合は、接続プールをロードする前に、コードに以下を追加するだけです。

Properties p = new Properties(System.getProperties());
p.put("com.mchange.v2.log.MLog", "com.mchange.v2.log.FallbackMLog");
p.put("com.mchange.v2.log.FallbackMLog.DEFAULT_CUTOFF_LEVEL", "OFF"); // Off or any other level
System.setProperties(p);
于 2011-05-16T15:54:46.057 に答える
23

log4j.xmlファイルを使用する場合は、c3poパッケージのロガーを簡単に定義できます。

<logger name="com.mchange.v2.c3p0">
    <level value="SEVERE"/>
</logger>

log4j.propertiesには類似のメソッドがあります。私はそれがただだと思います:

log4j.logger.com.mchange.v2.c3p0=SEVERE
于 2010-06-04T17:25:54.730 に答える
4

次のようなメッセージが表示されていました。

Tue Feb 12 13:42:01 EST 2013 INFO: Profiler Event: [FETCH]  at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:76) duration: 0 ms, connection-id: 67, statement-id: 23, resultset-id: 27

これにより、C3P0がこれらのメッセージをログに記録していると思いました。次のような接続文字列を使用してプロファイリングを有効にしたため、実際にはメッセージはmysqlコネクタから送信されています。

jdbc:mysql://localhost/database?profileSQL=true

削除?profileSQL=trueして、これらのメッセージのログ記録を停止します。

于 2013-02-12T19:15:13.343 に答える
2

コード行の問題を修正しました:

com.mchange.v2.log.MLog.getLogger().setLevel(MLevel.INFO);

アプリでlog4jを使用しています。

于 2011-02-21T08:48:53.600 に答える
1

log4j.xmlに次の行を追加することで、ログレベルを設定できます。少なくともエラーレベルでのログ記録が必要です。

< category name="com.mchange" additivity="false"> 
        < priority value="ERROR"/>
        < appender-ref ref="ASYNC"/>
     </ category>

本当にc3P0ロギングセットプロパティをオフにしたい場合com.mchange.v2.log.FallbackMLog.DEFAULT_CUTOFF_LEVEL=OFF

c3p0-Config.properties内

または、これをシステムプロパティとしてコードで直接設定できますSystem.setProperty("com.mchange.v2.log.FallbackMLog.DEFAULT_CUTOFF_LEVEL",MLevel.OFF);

于 2011-01-14T15:25:21.120 に答える
1

私はkormaを介してclojureに取り組んでおり、一生の間、プロパティファイルをロードできませんでした(clojureは初めてなので、自分のせいです)。あなたが同じようなボートに乗っているなら、以下があなたを助けるかもしれません。

(System/setProperties 
  (doto (java.util.Properties. (System/getProperties))
    (.put "com.mchange.v2.log.MLog" "com.mchange.v2.log.FallbackMLog")
    (.put "com.mchange.v2.log.FallbackMLog.DEFAULT_CUTOFF_LEVEL" "OFF")))

これは基本的に、上記のPhilippe Carriereの回答のclojureポートです、どうもありがとうございました!

于 2015-01-28T18:17:34.947 に答える