我正在使用 Grails 2.1.1 进行开发,现在我想将 Logback (http://logback.qos.ch) 集成为默认的日志框架,因为它应该提供一些更好的日志功能,并且还可以通过 Groovy 进行配置。
由于 Logback 1.0.7(最新)仅适用于slf4j 1.6.6
我想升级 Grails 依赖项。Grails 2.1.1 正在使用slf4j 1.6.2
. 如何正确执行此操作?
我尝试了以下方法:在BuildConfig.groovy
我排除grails-plugin-log4j
和slf4j-api
grails.project.dependency.resolution = {
// inherit Grails' default dependencies
inherits("global") {
excludes "grails-plugin-log4j", "slf4j-api"
}
...
}
我尝试与其他必要的库一起slf4j-api 1.6.6
加载compile
build
runtime
grails.project.dependency.resolution = {
...
dependencies {
// specify dependencies here under either 'build', 'compile', 'runtime', 'test' or 'provided' scopes eg.
compile "org.slf4j:slf4j-api:1.6.6"
build "org.slf4j:slf4j-api:1.6.6",
"ch.qos.logback:logback-core:1.0.7",
"ch.qos.logback:logback-classic:1.0.7"
runtime "org.slf4j:slf4j-api:1.6.6",
"org.slf4j:log4j-over-slf4j:1.6.6", // logback dependency for classic module, as seen on http://logback.qos.ch/dependencies.html
"ch.qos.logback:logback-core:1.0.7",
"ch.qos.logback:logback-classic:1.0.7"
}
...
}
现在,如果我想从 Grails 命令行执行任何操作,要么 要么grails compile
,grails clean
它抱怨它无法执行脚本,因为它找不到 LoggerFactory 类:
| Loading Grails 2.1.1
| Configuring classpath
| Error Error executing script Compile: org/slf4j/LoggerFactory (NOTE: Stack trace has been filtered. Use --verbose to see entire trace.)
java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:156)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:132)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:272)
at org.springframework.core.io.support.PathMatchingResourcePatternResolver.<clinit>(PathMatchingResourcePatternResolver.java:169)
| Error Error executing script Compile: org/slf4j/LoggerFactory
如何slf4j-api
正确升级底层?
如果我不排除第slf4j-api
一个,我会与调用时标记为驱逐的“旧”1.6.2 api 发生冲突grails dependency-report
......
另外,我希望有一个用于 Logback 的外部配置文件。我将如何实施它?使用 Log4j,我只是log4jConfigurer
在文件中声明了一个 bean conf/spring/resources.groovy
- 如何使用 Logback 完成?
有没有人用 Logback 记录 Grails 2.1.1 的经验,可以给我任何关于这个问题的建议吗?