Estoy construyendo una pequeña aplicación Java y esperando usar logback para el registro.Incompatibilidad con el marco de registro
Mi aplicación tiene una dependencia en un proyecto mayor que hace su registro a través de
org.apache.commons | com.springsource.org.apache.commons.logging | 1.1.1
... así que mi plan era utilizar
org.slf4j | jcl-over-slf4j | 1.5.6
... para redirigir el registro en JCL
org.slf4j | slf4j-api | 1.6.0
... y en última instancia a
ch.qos.logback | logback-classic | 0.9.22
ch.qos.logback | logback-core | 0.9.22
por lo que mi aplicación puede iniciar sesión mediante logback a través de su API slf4j, mientras que el código de la biblioteca anterior puede iniciar sesión en la misma ubicación a través de la redirección.
Por desgracia, esto se traduce en
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)
He intentado números verision superiores e inferiores en algunos de estos frascos y cavar a través de documentación de la API y tal ... pero soy incapaz de encontrar y resolver el problema.
Ayuda, por favor?
Aunque logback se considera el marco de registro "estratégico", tengo un margen de maniobra en el mecanismo de registro que finalmente uso. Sin embargo, espero usar logback o log4j, y definitivamente quiero fusionar el inicio de sesión del proyecto anterior en lo que sea que termine siendo el "nuevo" marco de registro, a través de una configuración común.
Eso funcionó de inmediato, por supuesto; ¡muchas gracias! No había usado 1.6.1 de esos frascos porque no parecían estar disponibles. Estoy muy molesto con m2eclipse, que pretende mostrarme todas las versiones disponibles pero misteriosamente deja caer un número significativo de ellas. –
Solo por interés de alguien más a continuación: terminé con una flecha roja en el gráfico de dependencia porque incluso el último logback-core insiste en slf4j-1.6.0. Se necesitaron más bromas con versiones hasta que desaparecieron todas las flechas rojas, pero ahora ambas funcionan y todas las flechas azules. –
¿Cómo exactamente eso hago? – user1721803