Grails:用 logback 替换 log4j

标签 grails logging log4j slf4j

我正在尝试用 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/

相关文章:

nhibernate - 如何修复错误消息。 “Remember that ordinal parameters are 1-based!”

ruby - Ruby Flow 框架的 AWS SWF API 调用日志记录

c# - 在应用程序中编写诊断类是否常见

java - log4j2.xml 文件在 tomcat web 应用程序中的正确位置

java - 初学者的log4J问题

grails - Grails Spring安全性插件身份验证失败

grails - Grails remoteLink与<a>

java - 避免 Grails 格式化

python - 如何按文件大小分割Python日志文件

log4j - 如何使用 Netbeans 和 Maven 为独立应用程序配置 log4j