我正在使用Wildfly 8进行部署。我们的应用程序使用JDBC访问数据库。 Java代码中的数据库资源管理不正确,例如当连接关闭时,许多关联的语句或结果集都不会关闭。因此,当我关闭连接时,服务器会抛出以下WARN:
21:52:35,702 WARN [org.jboss.jca.adapters.jdbc.WrappedConnection] (EJB default - 1) Closing a statement you left open, please do your own housekeeping: java.lang.Throwable: STACKTRACE
at org.jboss.jca.adapters.jdbc.WrappedConnection.registerStatement(WrappedConnection.java:1677)
at org.jboss.jca.adapters.jdbc.WrappedStatement.<init>(WrappedStatement.java:105)
at org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.<init>(WrappedPreparedStatement.java:69)
at org.jboss.jca.adapters.jdbc.jdk6.WrappedPreparedStatementJDK6.<init>(WrappedPreparedStatementJDK6.java:52)
at org.jboss.jca.adapters.jdbc.jdk6.WrappedConnectionJDK6.wrapPreparedStatement(WrappedConnectionJDK6.java:79)
at org.jboss.jca.adapters.jdbc.WrappedConnection.prepareStatement(WrappedConnection.java:405)
如何抑制此类警告消息,使其不出现在Wildfly的server.log中?
答案 0 :(得分:2)
你应该修复你的代码,而不仅仅是压制告诉你你写错了代码的日志
答案 1 :(得分:0)
假设您使用的是默认配置,则$JBOSS_HOME/standalone/configuration/standalone.xml
是一个XML文件,其中包含服务器的日志记录配置。 XPATH /jboss:server/jboss:profile/logging:subsystem
会将您转到包含多个logger
元素的元素,每个元素都包含category
和level
。类别是正在配置的记录器的名称,例如org.jboss.jca.adapters.jdbc.WrappedConnection
,级别名称是在该记录器上设置的阈值。如果将日志记录级别设置为ERROR
,如以下配置,则将禁止任何WARN日志。
<logger category="org.jboss.jca.adapters.jdbc.WrappedConnection">
<level name="ERROR"/>
</logger>
实际解决错误的代码仍然更好,但这会做你所要求的。