Gradle | Spring boot dependencies sind nicht ohne
Ich versuche, log4j arbeiten in einem Projekt, an dem ich arbeite. Ich habe den entsprechenden log4j Abhängigkeiten im build.gradle und ausgeschlossen die Spring-boot-starter-Protokollierung, damit es funktionieren kann.
Dies funktionierte gut, wenn ich Maven als build-tool, aber sobald ich wechselte zu Gradle funktioniert es nicht bei allen (außer der Protokollierung von Spring-boot-starter). Hier sind die Abhängigkeiten in meinem build.gradle
dependencies {
compile('org.springframework.boot:spring-boot-starter-data-jpa')
compile('org.springframework.boot:spring-boot-starter-web'){
exclude module: 'org.springframework.boot:spring-boot-starter-logging'
}
compile('org.springframework.boot:spring-boot-starter-log4j')
compile('org.springframework.boot:spring-boot-starter-data-rest')
compile('org.springframework.boot:spring-boot-starter-actuator')
compile('org.postgresql:postgresql:9.3-1101-jdbc41')
compile('org.scala-lang:scala-library:2.10.4')
testCompile('org.springframework.boot:spring-boot-starter-test') {
exclude module: 'commons-logging'
}
providedCompile('org.springframework.boot:spring-boot-starter-tomcat')
}
Aber da kann man deutlich sehen, in der Abhängigkeitsstruktur der spring-boot-starter-logging
ist immer noch da. Ich vermute, dass dies das Problem ist warum die Anmeldung nicht funktioniert.
Hier ist die Abhängigkeitsstruktur:
+--- org.springframework.boot:spring-boot-starter-data-jpa: -> 1.2.1.RELEASE
| +--- org.springframework.boot:spring-boot-starter:1.2.1.RELEASE
| | +--- org.springframework.boot:spring-boot:1.2.1.RELEASE
| | | +--- org.springframework:spring-core:4.1.4.RELEASE
| | | \--- org.springframework:spring-context:4.1.4.RELEASE
| | | +--- org.springframework:spring-aop:4.1.4.RELEASE
| | | | +--- aopalliance:aopalliance:1.0
| | | | +--- org.springframework:spring-beans:4.1.4.RELEASE
| | | | | \--- org.springframework:spring-core:4.1.4.RELEASE
| | | | \--- org.springframework:spring-core:4.1.4.RELEASE
| | | +--- org.springframework:spring-beans:4.1.4.RELEASE (*)
| | | +--- org.springframework:spring-core:4.1.4.RELEASE
| | | \--- org.springframework:spring-expression:4.1.4.RELEASE
| | | \--- org.springframework:spring-core:4.1.4.RELEASE
| | +--- org.springframework.boot:spring-boot-autoconfigure:1.2.1.RELEASE
| | | \--- org.springframework.boot:spring-boot:1.2.1.RELEASE (*)
| | +--- org.springframework.boot:spring-boot-starter-logging:1.2.1.RELEASE
Hier ist meine log4j.Eigenschaften Datei
log4j.rootLogger=INFO, fileout, CONSOLE
PID=????
LOG_PATTERN=[%d{yyyy-MM-dd HH:mm:ss.SSS}] log4j%X{context} - ${PID} %5p [%t] --- %c{1}: %m%n
# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=${LOG_PATTERN}
# Log4j configurations for with file appender
log4j.category.org.hibernate.validator.internal.util.Version=WARN
log4j.category.org.apache.coyote.http11.Http11NioProtocol=WARN
log4j.category.org.apache.tomcat.util.net.NioSelectorPool=WARN
log4j.category.org.apache.catalina.startup.DigesterFactory=ERROR
log4j.appender.fileout=org.apache.log4j.RollingFileAppender
log4j.appender.fileout.File=sampleLog.log
log4j.appender.fileout.MaxFileSize=1024KB
log4j.appender.fileout.MaxBackupIndex=1
log4j.appender.fileout.layout=org.apache.log4j.PatternLayout
log4j.appender.fileout.layout.conversionPattern=${LOG_PATTERN}
UPDATE
Konnte ich fix den Ausschluss der jar-Datei Abhängigkeit. Aber die Anmeldung ist immer noch nicht funktioniert, log4j.Eigenschaften, die auch im KRIEG die Verteilung unter die Klassen.
UPDATE 02
Klappte es Problem mit meiner IDE (STS)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Alle
spring-boot-starter-*
Projekte abhängigspring-boot-starter
Projekt, das wiederum in abhängigspring-boot-starter-logging
. Ich war in der Lage, entfernen Sie diese Abhängigkeit, indem Sie die folgende Zeile in der Konfiguration Abschnitt:sampleLog.log
- Datei generiert, ohne Inhalt oder ist die Datei selbst nicht erstellt?Ausgeschlossen wurden die spring-boot-starter-logging-Modul von spring-boot-starter-web, aber wie Sie deutlich sehen können, von der "dependency tree", das Modul spring-boot-starter-data-jpa hat auch eine Abhängigkeit zum spring-boot-starter-Protokollierung, Sie müssen also auch ausschließen von dort (und von allen anderen spring-boot-starter-* Abhängigkeiten, da alle von Ihnen sind abhängig von spring-boot-starter-logging).