【问题标题】:c3p0 file not found errorc3p0 文件未找到错误
【发布时间】:2015-02-05 08:46:01
【问题描述】:

我正在使用 c3p0-0.9.2.1 jar,我的类路径和 lib 文件夹中有这个 jar。 每当我第一次连接时,我都会收到此错误:

com.mchange.v2.cfg.DelayedLogItem [ level -> FINE, text -> "The configuration file for resource identifier '/mchange-commons.properties' could not be found. Skipping.", exception -> java.io.FileNotFoundException: Resource not found at path '/mchange-commons.properties'.]
com.mchange.v2.cfg.DelayedLogItem [ level -> FINE, text -> "The configuration file for resource identifier 'hocon:/reference,/application,/' could not be found. Skipping.", exception -> java.io.FileNotFoundException: HOCON lib (typesafe-config) is not available. Also, no resource available at '/reference,/application,/' for HOCON identifier 'hocon:/reference,/application,/'.]

我的应用程序运行良好。我无法判断这个错误是什么,我应该担心这个错误吗?如果是,如何消除这个错误。我做错了什么。

【问题讨论】:

    标签: java servlets c3p0


    【解决方案1】:

    这些是调试级别的消息,基本上记录了 c3p0 检查可以放置配置信息的所有不同位置,并且通常在大多数这些位置都找不到任何东西。 FileNotFoundExceptions 是 c3p0 看到那里什么都没有的方式。

    c3p0 和com.mchange 下的库通常旨在以 INFO 级别登录以供正常使用。如果您登录 DEBUG 或 FINE,您可能会看到比您想要的更多的东西,包括在搜索配置文件期间完全无害的预期 FileNotFoundExceptions 之类的东西。

    【讨论】:

    • 我正在使用配置为仅显示 INFO 消息的 slf4j 日志记录 (logback)。这适用于所有内容,甚至是一些 c3p0 日志记录,但在启动期间它仍将这些消息输出到标准输出。
    • c3p0 日志记录是否通过 logback?在某些时候,您应该会看到类似“INFO: MLog clients using ...”的初始化消息,其中 ... 引用正在使用的日志库。
    【解决方案2】:

    查看了cp30包中的DelayedLogItem类,也调试了代码。

    似乎这个类不使用 logback 或任何记录器。实际上,它的功能与大多数记录器类似,它定义了自己的日志级别等。日志消息实际上是 toString() 方法的结果。

    在调试过程中,我发现 BasicMultiPropertiesConfig 类正在尝试查找一些配置文件,如果找不到,它会调用方法 dumpToSysErr 将日志行输出到标准错误。

    所以看起来没有办法使用任何记录器来“捕获”这些日志消息并根据您的记录器配置显示它。

    顺便说一下,如果你配置例如logback 在 com.mchange 上进行 TRACE 日志记录,然后它还使用 logback(包括堆栈跟踪)进行记录。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-25
      • 2016-06-05
      • 2018-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多