我与Grails的2.1.1发展,现在我想的logback(http://logback.qos.ch)整合为默认的日志框架,它应该提供一些更好的日志记录功能也可以通过Groovy进行配置。的Grails 2.1.1 - 集成的logback
的logback为1.0.7(最新的),并只与slf4j 1.6.6
我想升级Grails的dependeny工作。 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"
}
...
}
,我尝试在compile
build
和runtime
加载slf4j-api 1.6.6
与其他必要的库一起
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
,它可以是
| 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
:宁认为,因为它找不到的LoggerFactory类它不能执行该脚本?
如果我不排除slf4j-api
第一,我与“旧” 1.6.2 API标记为驱逐冲突调用grails dependency-report
当...
另外,我很想有一个外部Logback的配置文件。我将如何实现它?在Log4j中,我只是在conf/spring/resources.groovy
文件中声明了log4jConfigurer
bean - 如何使用Logback完成该操作?
先后在伐木的Grails 2.1.1的logback任何经验,可以给我这个问题有什么建议?
使用logback grails插件怎么样? http://grails.org/plugin/logback – tbruyelle
感谢您的建议 - 似乎Burt在10天前上传了插件...所以,从我的问题日期可以看出,该插件一定是在发展或者在目前没有想到。 插件本身看起来很有前途!我肯定会检查出来的!此外,仍然存在IDE日志对象缺少IDE转换支持的问题......黑客利用Intellij IDEA插件来完成这个问题,但它似乎不是一个'漂亮'的解决方案...我也为此提交了一个Bug报告:http://youtrack.jetbrains.com/issue/IDEA-97383 – herom
apache和sl4j的日志对象有什么区别?我的意思是它们都暴露标准的日志方法,如'info()','error()','debug()'。 – tbruyelle