Android运行时异常的可能原因是什么;没有合适的日志实现”;与登录第三方jar相关?

Android运行时异常的可能原因是什么;没有合适的日志实现”;与登录第三方jar相关?,android,logging,log4j,Android,Logging,Log4j,我正在创建一个包含第三方jar的Android应用程序。当我运行应用程序时,该第三方jar使用了无法初始化的内部日志记录,错误为:“org.apache.commons.logging.LogConfigurationException:没有合适的日志实现” 第三方jar似乎在使用org.apache.commons.logging,并且依赖于log4j,特别是log4j-1.2.14.jar。我已经将log4jjar打包到Android应用程序中。第三方jar是用log4j.xml配置文件打包

我正在创建一个包含第三方jar的Android应用程序。当我运行应用程序时,该第三方jar使用了无法初始化的内部日志记录,错误为:“org.apache.commons.logging.LogConfigurationException:没有合适的日志实现”

第三方jar似乎在使用org.apache.commons.logging,并且依赖于log4j,特别是log4j-1.2.14.jar。我已经将log4jjar打包到Android应用程序中。第三方jar是用log4j.xml配置文件打包的,我曾尝试将其作为xml资源(以及原始资源)打包到应用程序中

“没有合适的日志实现”错误消息的描述性不强,我对Java日志记录也不太熟悉。因此,我正在寻找问题的可能原因(我可能缺少什么类或配置资源?),或者寻找一些调试技术,这些技术将导致关于问题的更明确的不同错误消息。我无法访问第三方jar的源代码

这是异常堆栈跟踪。当我运行该应用程序时,一旦第三方jar类之一尝试初始化其内部日志记录,就会出现以下异常

DEBUG/AndroidRuntime(15694): Shutting down VM
WARN/dalvikvm(15694): threadid=3: thread exiting with uncaught exception (group=0x4001b180)
ERROR/AndroidRuntime(15694): Uncaught handler: thread main exiting due to uncaught exception
ERROR/AndroidRuntime(15694): java.lang.ExceptionInInitializerError
ERROR/AndroidRuntime(15694): Caused by: org.apache.commons.logging.LogConfigurationException: No suitable Log implementation
ERROR/AndroidRuntime(15694):     at org.apache.commons.logging.impl.LogFactoryImpl.discoverLogImplementation(LogFactoryImpl.java:842)
ERROR/AndroidRuntime(15694):     at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:601)
ERROR/AndroidRuntime(15694):     at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:333)
ERROR/AndroidRuntime(15694):     at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:307)
ERROR/AndroidRuntime(15694):     at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:645)
ERROR/AndroidRuntime(15694):     at org.apache.commons.configuration.ConfigurationFactory.<clinit>(ConfigurationFactory.java:77)
DEBUG/AndroidRuntime(15694):关闭虚拟机
WARN/dalvikvm(15694):threadid=3:线程退出时出现未捕获异常(组=0x4001b180)
错误/AndroidRuntime(15694):未捕获处理程序:线程主线程由于未捕获异常而退出
错误/AndroidRuntime(15694):java.lang.ExceptionInInitializeError
错误/AndroidRuntime(15694):由以下原因引起:org.apache.commons.logging.LogConfigurationException:没有合适的日志实现
错误/AndroidRuntime(15694):位于org.apache.commons.logging.impl.LogFactoryImpl.discoverLogimple(LogFactoryImpl.java:842)
ERROR/AndroidRuntime(15694):位于org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:601)
错误/AndroidRuntime(15694):位于org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:333)
错误/AndroidRuntime(15694):位于org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:307)
ERROR/AndroidRuntime(15694):位于org.apache.commons.logging.LogFactory.getLog(LogFactory.java:645)
错误/AndroidRuntime(15694):位于org.apache.commons.configuration.ConfigurationFactory。(ConfigurationFactory.java:77)

研究org.apache.commons.logging.impl.logfactorympl的逻辑可能会有所帮助

可能有一种注入日志实现的方法