我在Spring-boot应用程序中混合使用Groovy和Java。 Rest控制器和数据访问是用Groovy编写的。配置主要是Java。
根据logback文档,如果类路径中有logback.groovy文件,则应该在logback.xml之前选择它。但是,在我的情况下只有logback.xml正常工作。
我正在运行应用程序作为sprint-boot-application。
另外,值得注意的是,spring建议继承一些日志配置,如下所示
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<logger name="org.springframework.web" level="DEBUG"/>
</configuration>
在Groovy配置中无法做到这一点。
的build.gradle:
dependencies {
compile("org.springframework.boot:spring-boot-starter-web")
compile("org.springframework:spring-jdbc")
compile("com.h2database:h2")
compile("org.hsqldb:hsqldb")
testCompile("junit:junit")
compile('org.codehaus.groovy:groovy-all:2.3.10')
testCompile('org.codehaus.groovy.modules.http-builder:http-builder:0.5.0-RC2')
compile('org.slf4j:slf4j-simple:1.6.1')
}
sourceSets {
main {
groovy {
srcDirs = ['src/main/groovy', 'src/main/java']
}
java {
srcDirs = []
}
}
test {
groovy {
srcDirs = ['src/test/groovy', 'src/test/java']
}
java {
srcDirs = []
}
}
}
答案 0 :(得分:3)
首先,您的background-size
对我来说很奇怪:
build.gradle
spring-boot-gradle-plugin
选项中的sourceSets
部分中使用简单依赖关系代替Spring Boot starters 尝试使用Spring Initializr创建示例项目 - 切换到完整版。您的dependencies
看起来像
build.gradle
使用此配置buildscript {
ext {
springBootVersion = '1.5.1.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'groovy'
apply plugin: 'org.springframework.boot'
jar {
baseName = 'demo'
version = '0.0.1-SNAPSHOT'
}
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
compile 'org.springframework.boot:spring-boot-starter'
compile 'org.springframework.boot:spring-boot-starter-logging'
compile 'org.springframework.boot:spring-boot-starter-jdbc'
compile 'org.codehaus.groovy:groovy'
compile 'com.h2database:h2'
testCompile 'org.springframework.boot:spring-boot-starter-test'
testCompile 'org.codehaus.groovy.modules.http-builder:http-builder:0.5.0-RC2'
}
应该有效。对于特定问题,请发布您的logback.groovy
。但正如您所指出的,Groovy配置并不是一个完整的公民。当您加入logback.groovy
启动器时,您还可以使用spring-boot-starter-logging
或logback-spring.groovy
扩展标准日志记录配置。
要获得完全控制权,您必须使用XML配置,对于我停止使用logback-spring.xml
的小项目,而只是通过logback.groovy
中的某些设置配置日志记录启动器,请参阅Custom log configuration。
E.g。 application.properties
的一些设置,其中包含带有彩色列的日志(除了windows&lt; 10以外的所有平台,甚至在Windows&lt; 10下的IDEA中):
application.properties