how do I turn off logging in java c3p0 connection pooling lib?

前端 未结 6 1915
温柔的废话
温柔的废话 2020-12-08 19:07

hey all, I\'m just getting started with c3p0 for database connection pooling. It\'s attaching itself to my log4j output currently. How do I set logging off or at least to SE

相关标签:
6条回答
  • 2020-12-08 19:36

    I was getting messages like the following:

    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
    

    This made me think that C3P0 was logging these messages. Actually the message is coming from the mysql connector because I enabled profiling by using a connection string like this:

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

    Remove ?profileSQL=true to make it stop logging these messages.

    0 讨论(0)
  • 2020-12-08 19:36

    You can set log level by adding following lines in log4j.xml Logging at least at Error level is desired.

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

    If you really want to turn off c3P0 logging set property com.mchange.v2.log.FallbackMLog.DEFAULT_CUTOFF_LEVEL=OFF

    in c3p0-Config.properties

    or you can directly set this in code as an System property System.setProperty("com.mchange.v2.log.FallbackMLog.DEFAULT_CUTOFF_LEVEL",MLevel.OFF);

    0 讨论(0)
  • 2020-12-08 19:37

    I fixed problem with line of code:

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

    I am using log4j in my app.

    0 讨论(0)
  • 2020-12-08 19:42

    For those who are NOT using a configuration file, just to add the following in the code, before loading the connection pool.

    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);
    
    0 讨论(0)
  • 2020-12-08 19:47

    If you use a log4j.xml file you can simple define a logger for the c3po package:

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

    There are analogous methods for log4j.properties. I think it's just:

    log4j.logger.com.mchange.v2.c3p0=SEVERE
    
    0 讨论(0)
  • 2020-12-08 19:53

    I am working on clojure, through korma and for the life of my I could not get any properties files to load (I am new to clojure so I blame myself). If you are in a similar boat, the following might help you out.

    (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")))
    

    The is basically a clojure port of Philippe Carriere's answer above, thank you so much!

    0 讨论(0)
提交回复
热议问题