GBase 8s使用C3P0连接池时去除SQLWarning警告
通过C3P0连接池连接到GBase 8s数据库时,可能会碰到这样的SQLWarning:
六月 16, 2023 3:40:55 下午 com.mchange.v2.c3p0.SQLWarnings
信息: Database has transactions
java.sql.SQLWarning: Database has transactions
或者
六月 16, 2023 3:40:55 下午 com.mchange.v2.c3p0.SQLWarnings
信息: Database selected
java.sql.SQLWarning: Database selected
以上警告,虽然不影响操作,但该日志频繁出现,将影响系统性能。
在com.mchange.v2.c3p0.SQLWarnings类中,我们可以看到:MLevel.INFO时,就将java.sql.SQLWarning的信息写到日志信息中
public static void logAndClearWarnings(Connection con) throws SQLException
{
if (logger.isLoggable(MLevel.INFO))
{
for(SQLWarning w = con.getWarnings(); w != null; w = w.getNextWarning())
logger.log(MLevel.INFO, w.getMessage(), w);
}
con.clearWarnings();
}
因此:
最简单的规避出现上面两个Warning的方式就是:
在资源文件的根目录下创建mchange-log.properties配置文件,内容如下:
com.mchange.v2.log.MLog=com.mchange.v2.log.FallbackMLog
# LEVEL设置为WARNING,高于INFO
com.mchange.v2.log.FallbackMLog.DEFAULT_CUTOFF_LEVEL=WARNING