我使用spring boot 1.2.1.RELEASE,并注意到spring在启动时会自动更改我的log4j配置。
这是我的(Spring)依赖项:
<!-- parent includes slf4j and log4j --> <dependencies> <dependency> <!-- Import dependency management from Spring Boot --> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>1.1.2.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>1.1.2.RELEASE</version> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jetty</artifactId> <version>1.1.2.RELEASE</version> </dependency> <dependency> <groupId>de.komoot.wanderwalter</groupId> <artifactId>wanderwalter-api-models</artifactId> <version>1.26-SNAPSHOT</version> </dependency> <dependency> <groupId>de.komoot.wanderwalter</groupId> <artifactId>wanderwalter-routing</artifactId> <version>1.26-SNAPSHOT</version> </dependency> <dependency> <groupId>com.graphhopper</groupId> <artifactId>graphhopper</artifactId> <version>0.3-kmt</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.version}</version> </dependency> </dependencies> <dependencyManagement> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1.3</version> </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.8</version> </dependency> </dependencies> </dependencyManagement>
当我用我的应用程序启动时,-Dlog4j.configuration=log4j-live.xml -Dlog4j.debug我可以看到首先使用了我的log4j配置,然后进行了Spring大扫除并安装了自己的配置,然后(这是我的猜测)从类路径中添加了默认的log4j.xml。
-Dlog4j.configuration=log4j-live.xml -Dlog4j.debug
如何仅使用默认的log4j行为,或者如何定义spring哪个文件用于配置?
干杯,
一月
Spring Boot使用与系统日志无关的属性来覆盖默认配置:
如果环境包含一个属性,logging.config那么它将用于初始化日志记录系统,否则将使用默认位置。
logging.config
因此请-Dlogging.config=log4j-live.xml -Dlog4j.debug改用。
-Dlogging.config=log4j-live.xml -Dlog4j.debug