当前位置: 首页 > 面试题库 >

奇怪的错误:通过客户堆栈跟踪关闭

壤驷敏学
2023-03-14
问题内容

大家好,我有一个使用Hibernate检索数据库中数据的Web应用程序。并且在服务器端,某些想法会定期出现。以下是异常日志。

    16:04:22,227 DEBUG NewPooledConnection:491 - com.mchange.v2.c3p0.impl.NewPooledConnection@ef46613 closed by a client.
    java.lang.Exception: DEBUG -- CLOSE BY CLIENT STACK TRACE
        at com.mchange.v2.c3p0.impl.NewPooledConnection.close(NewPooledConnection.java:491)
        at com.mchange.v2.c3p0.impl.NewPooledConnection.close(NewPooledConnection.java:191)
        at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.destroyResource(C3P0PooledConnectionPool.java:470)
        at com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask.run(BasicResourcePool.java:964)
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
    16:09:42,310 DEBUG C3P0PooledConnectionPool:476 - Successfully destroyed PooledConnection: com.mchange.v2.c3p0.impl.NewPooledConnection@32ef0763
    16:09:42,310 DEBUG BasicResourcePool:967 - Successfully destroyed resource: com.mchange.v2.c3p0.impl.NewPooledConnection@32ef0763
    16:09:42,310 DEBUG GooGooStatementCache:319 - ENTER METHOD: closeAll( org.postgresql.jdbc4.Jdbc4Connection@42df0af8 )! -- num_connections: 1

有人可以帮我解决这个问题吗?非常感谢!


问题答案:

这是触发C3P0中此日志语句的代码:

if ( logger.isLoggable( MLevel.FINEST ) )
  logger.log( MLevel.FINEST, this + " closed by a client.", 
            new Exception("DEBUG -- CLOSE BY CLIENT STACK TRACE") );

注意:

  1. 这也不是例外,new Exception它仅用于显示调试目的的执行路径。

  2. 是的,这只是一条调试消息(实际上FINEST是中的最低级别java.util.logging)。

总结一下:忽略并调整您的日志记录级别以跳过这些级别。



 类似资料:
  • 在另一种情况下,经过去模糊处理后,我得到的不是正常的堆栈跟踪,而是如下所示: 是什么原因,有可能莫名其妙地从这得到一个正常的堆栈跟踪?

  • 当Xdebug被激活时,只要PHP决定显示通知,警告,错误等,就会显示堆栈跟踪。堆栈跟踪显示的信息以及显示方式可以根据您的需要进行配置。 Xdebug在错误情况下显示的堆栈跟踪信息量相当保守(如果display.errors 在php.ini中设置为On)。这是因为大量的信息会减慢脚本的执行速度和浏览器中堆栈跟踪本身的渲染速度。但是,可以使堆栈轨迹以不同的设置显示更详细的信息。 堆栈跟踪中的变量

  • 当500内部服务器发生时,我想抑制tomcat显示的堆栈跟踪。我在web.xml中包含了一个定制的error.html页面,并提到了文件位置和错误代码 进行上述更改后,对于所有 API 的 tomcat 返回 404 未找到。

  • 我有两项服务-和<代码>服务1通过SpringREST模板调用一些API。现在

  • 我有一个ASP.NET Core3.0Web API托管在Azure应用服务上。我正在试图弄清楚为什么它会在一个控制器操作方法中抛出一个500内部服务器错误。我已经建立了应用程序洞察力,我可以在Azure Portal上的“失败”页面上看到有500个异常。但是,我看不到它们的堆栈跟踪。在Application Insights或Azure Monitor中打开堆栈跟踪报告需要做些什么吗。附注。即使

  • 我使用以下代码打印try-catch块中发生的任何异常,但是当异常发生时,logback不会打印完整的堆栈跟踪,而是写入一行错误(它没有明确说明是什么导致了它。我如何在logback输出中打印完整的堆栈跟踪? 尝试捕获异常的catch块 日志返回错误输出: