我继承了一个不在Maven&没有关于依赖关系设置的文档。我收到了很多与slf4j相关的错误。
例如,以下代码中的_logger.error()调用会生成此编译错误:“Logger类型中的方法错误(String,Object,Object)不适用于参数”。
<TextView
android:id="@+id/phone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_below="@+id/topic"
android:textStyle="normal"
android:textColor="#150a18"
android:text=" +9177xxxxxx99"
android:autoLink="phone"
android:gravity="center"
android:drawableLeft="@drawable/ic_phone_black_24dp"
android:drawableStart="@drawable/ic_phone_black_24dp"
/>
我需要在类路径中包含哪些slf4j jar来避免这种情况?注意,我的classpath&amp;中已经有了所有的slf4j 1.7.5。大多数日志记录语句编译良好,但其他日志不会。我不知道如何解决这个问题。
更新 - 为清晰起见添加了额外的代码
答案 0 :(得分:0)
请参阅此链接http://www.slf4j.org/apidocs/org/slf4j/Logger.html 根据doc,没有办法在logger.error方法中按照代码的方式包含3个参数。 涉及两个以上对象进行日志记录的唯一方法是将这些对象放在一个数组中,并将其作为参数传递给logger.error方法
参阅
void error(字符串格式, 对象...参数)
页面上的方法
答案 1 :(得分:0)
解决:我意外地在类路径中包含了slf4j-api-1.6.6.jar。这是链接而不是slf4j-api-1.7.5.jar。一旦我删除了slf4j-api-1.6.6.jar,slf44编译错误就消失了。
感谢您的帮助。