在 server.log 中抑制服务器抛出的警告
supress warnings thrown by server in server.log
我正在使用 Wildfly 8 进行部署。我们的应用程序使用 JDBC 访问数据库。 Java 代码中的数据库资源管理不正确,比如当一个连接关闭时,它的许多关联语句或结果集都没有关闭。因此,当我关闭连接时,服务器会抛出以下警告:
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 中?
您应该修复您的代码,而不仅仅是抑制告诉您您编写了错误代码的日志
假设您使用的是默认配置,那么 $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>
实际解决错误代码更好,但这将完成您的要求。
我正在使用 Wildfly 8 进行部署。我们的应用程序使用 JDBC 访问数据库。 Java 代码中的数据库资源管理不正确,比如当一个连接关闭时,它的许多关联语句或结果集都没有关闭。因此,当我关闭连接时,服务器会抛出以下警告:
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 中?
您应该修复您的代码,而不仅仅是抑制告诉您您编写了错误代码的日志
假设您使用的是默认配置,那么 $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>
实际解决错误代码更好,但这将完成您的要求。