服务器在server.log

时间:2018-04-13 20:00:14

标签: java wildfly wildfly-8

我正在使用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中?

2 个答案:

答案 0 :(得分:2)

你应该修复你的代码,而不仅仅是压制告诉你你写错了代码的日志

答案 1 :(得分:0)

假设您使用的是默认配置,则$JBOSS_HOME/standalone/configuration/standalone.xml是一个XML文件,其中包含服务器的日志记录配置。 XPATH /jboss:server/jboss:profile/logging:subsystem会将您转到包含多个logger元素的元素,每个元素都包含categorylevel。类别是正在配置的记录器的名称,例如org.jboss.jca.adapters.jdbc.WrappedConnection,级别名称是在该记录器上设置的阈值。如果将日志记录级别设置为ERROR,如以下配置,则将禁止任何WARN日志。

<logger category="org.jboss.jca.adapters.jdbc.WrappedConnection">
    <level name="ERROR"/>
</logger>

实际解决错误的代码仍然更好,但这会做你所要求的。