これはおそらく非常に単純な質問です。 Hikari-CPデバッグログを無効にするにはどうすればよいですか?私のログファイルには、これらのメッセージがたくさんあります
DEBUG [.zaxxer.hikari.pool.HikariPool:] - Before cleanup pool stats HikariPool-0 (total=10, inUse=0, avail=10, waiting=0)
DEBUG [.zaxxer.hikari.pool.HikariPool:] - After cleanup pool stats HikariPool-0 (total=10, inUse=0, avail=10, waiting=0)
そして私のlog4jConfig.xmlで:
<logger name="org.zaxxer.hikari">
<level value="error"/>
</logger>
誰かがロガー構成の何が問題になっているのか教えてもらえますか?
ありがとう!
ロガー名はcom.zaxxer.hikari
ではなくorg.zaxxer.hikari
にする必要があります。
クラス名が表示されていますDEBUG情報:DEBUG [.zaxxer.hikari.pool.HikariPool:] -...ここでクラス名はzaxxer.hikari.pool.HikariPoolです。設定ファイルを表示されるように変更するだけです。
ログバックロガーを使用しています。リソースフォルダーにlogback.xmlという名前のファイルがあり、HikariPoolロギングを無効にするには、次の構成を記述します。
<configuration>
...
<logger name="com.zaxxer.hikari.pool.PoolBase" level="ERROR"/>
<logger name="com.zaxxer.hikari.pool.HikariPool" level="ERROR"/>
<logger name="com.zaxxer.hikari.HikariDataSource" level="ERROR"/>
</configuration>
Log4jプロパティを使用し、次の2行を追加するだけです。
log4j.category.com.zaxxer.hikari=INFO
log4j.logger.HikariPool=INFO
Hikariロガーのレベルを動的に設定できます。
import org.Apache.log4j.Logger;
import org.Apache.log4j.Level;
public class App{
public static main(String[] args) {
Logger.getLogger("com.zaxxer.hikari.pool.PoolBase").setLevel(Level.OFF);
Logger.getLogger("com.zaxxer.hikari.pool.HikariPool").setLevel(Level.OFF);
Logger.getLogger("com.zaxxer.hikari.HikariDataSource").setLevel(Level.OFF);
Logger.getLogger("com.zaxxer.hikari.HikariConfig").setLevel(Level.OFF);
Logger.getLogger("com.zaxxer.hikari.util.DriverDataSource").setLevel(Level.OFF);
}
}
これをhikariCP3.4.1とlog4j1.2.17でテストしました