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

记录框架不兼容

况明贤
2023-03-14
问题内容

我正在构建一个小型Java应用程序,并希望使用logback进行日志记录。

我的应用程序依赖于一个较旧的项目,该项目通过

org.apache.commons | com.springsource.org.apache.commons.logging | 1.1.1

…所以我的计划是使用

org.slf4j | jcl-over-slf4j | 1.5.6

…将JCL日志记录重定向到

org.slf4j | slf4j-api | 1.6.0

…最终

ch.qos.logback | logback-classic | 0.9.22
ch.qos.logback | logback-core | 0.9.22

因此我的应用可以通过其slf4j API通过logback登录,而旧的库代码可以通过重定向登录到同一位置。

las,这导致

java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
at   org.apache.commons.logging.impl.SLF4JLocationAwareLog.info(SLF4JLocationAwareLog.java:141)

我在其中一些罐子上尝试了较高和较低的版本号,还通过API文档等进行了挖掘……但是我无法找到并解决问题。

请帮助?

尽管logback被认为是“战略”日志记录框架,但我在最终使用哪种日志记录机制方面还有一些余地。不过,我希望使用logback或log4j,并且我绝对希望通过通用配置将旧项目的日志记录合并到最终成为“新”日志记录框架的内容中。


问题答案:

您正在将jcl桥的1.5.6版本与slf4j-api的1.6.0版本混合;由于1.6.0中的一些更改,因此无法使用。两者使用相同的版本,即1.6.1(最新版本)。我一直都在使用jcl-
over-slf4j桥,并且运行良好。



 类似资料:
  • 日志记录框架模拟java.util.logging,因此它使用相同的语法并具有与服务器端日志记录代码相同的行为 使用.gwt.xml文件配置GWT日志记录。 我们可以配置启用/禁用日志记录; 我们可以启用/禁用特定处理程序,并更改默认日志记录级别。 记录器的类型 记录器以树结构组织,根记录器位于树的根部。 记录器的名称确定使用的父/子关系. 分隔名称的部分。 举个例子,如果我们有两个记录器Hosp

  • 最近,我开始研究activiti框架,将其集成到我当前的项目中。在我们的项目中,我们使用teradata数据库。因此,我添加了activiti依赖项,并创建了简单的bpmn流程以进行测试。我用h2 inmemory数据库测试了这个过程,效果很好。但当将项目配置为使用teradata时,我在spring boot应用程序启动时遇到了异常。 我在google上只找到了这个主题: https://hub

  • 1.6 较1.5.7,新增加了Rand()方法 升级到1.4 Medoo由1.2之前的版本升级到1.4,会有一些不兼容的问题,这儿列举升级需要注意的一些事项 安装版本 Medoo1.2之前的版本支持php5.1,但1.2之后的仅支持php5.4及以上的版本 Medoo现在使用命名空间和PSR标准。所以必须在初始化之前使用Medoo\Medoo来声明命名空间,同时实例化的时候方法名将 new med

  • 在其它框架中引用Medoo Medoo可以很方便的使用其它框架中的单例注册或其它引入方式来使用,更多的详情可以参加其它框架手册的引用示例文档. Laravel Laravel提供单例注册一个新的实例化对象,你可以直接创建它并返回使用,其数据库配置你可以直接通过 Config::get() 调用 在app.php中注册 // 使用 Medoo 的命名空间use Medoo\Medoo;// Regi

  • 我正在使用Django REST框架,我希望有单独的文件来记录数据。 我想有一个简单的交易文件,例如。GET,PUT,POST等和一个文件的错误,我将收集在错误的情况下。 我一直在阅读Django日志文档,并提出了一些关于如何记录信息数据的配置。以下配置示例: 设置。派克 它作为文件中的预期数据样本工作: 我尝试在设置中应用另一个处理程序。py文件,例如: 我没有像预期的那样工作,现在我得到了同一

  • 问题内容: 我们有一个Hadoop集群,我们在上面存储使用Kryo(序列化框架)序列化为字节的数据。我们用于此目的的Kryo版本是从2.21正式版本派生而来的,以将我们自己的补丁应用于我们使用Kryo遇到的问题。当前的Kryo版本2.22也解决了这些问题,但是具有不同的解决方案。结果,我们不能仅仅更改我们使用的Kryo版本,因为这意味着我们将不再能够读取已经存储在Hadoop集群中的数据。为了解决