我正在尝试用 logback 替换我的 Grails 应用程序中的 log4j,但我总是得到一个
Embedded error: java.lang.reflect.InvocationTargetException
org.apache.log4j.LogManager
运行 run-app 或 test-app 时。
我在 BuildConfig.groovy 中包含了以下内容,我认为这已经足够了:
inherits("global") {
excludes "slf4j-log4j12"
}
[...]
dependencies {
build 'ch.qos.logback:logback-core:0.9.29', 'ch.qos.logback:logback-classic:0.9.29'
runtime 'ch.qos.logback:logback-core:0.9.29', 'ch.qos.logback:logback-classic:0.9.29'
}
我找不到更多对 Log4J 的引用,也不知道这个调用来自哪里?!
我也在尝试用 1.6.2 替换 Grails slf 1.5.8 并在控制台中获得以下内容,尽管已从所有 Grails 模块中排除了 slf:
SLF4J: The requested version 1.6 by your slf4j binding is not compatible with [1.5.5, 1.5.6, 1.5.7, 1.5.8]
SLF4J: See http://www.slf4j.org/codes.html#version_mismatch for further details.
提前感谢您的帮助
问候,
乔纳斯
最佳答案
Logback 0.9.21 及更高版本取决于 slf4j-api 1.6,这就是该错误告诉您的内容。
添加 org.slf4j:slf4j-api:1.6 的依赖项
关于Grails:用 logback 替换 log4j,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8033248/