spring boot默认日志配置,以及改用log4j日志配置
1、logging.config配置不起作用的原因
application.properties中有个一logging.config的配置,这个属性后面跟的日志配置文件必须是.xml结尾的。否则不起作用。
2、spring-boot 使用其他日志时,日志配置文件不起作用
创建Spring Boot工程时,我们在pom.xml文件中引入的spring-boot-starter
包含了spring-boot-starter-logging
,该依赖内容就是Spring Boot默认的日志框架Logback,所以我们在引入log4j之前,需要先排除该包的依赖,再引入log4j的依赖,如下所示:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <version>${spring-boot.version}</version> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> <!--使用下面这个和上面排除spring-boot-starter-logging是一样的效果 <exclusions> <exclusion> <artifactId>logback-classic</artifactId> <groupId>ch.qos.logback</groupId> </exclusion> <exclusion> <artifactId>log4j-over-slf4j</artifactId> <groupId>org.slf4j</groupId> </exclusion> </exclusions>--> </dependency>
然后再引入log4j相关jar包:
<!-- log4j日志 --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.21</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.21</version> </dependency>
3、配置log4j.properties,放到项目根目录下即可:
log4j.rootLogger=INFO, stdout,weblog ######################### logger ############################## log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout = org.apache.log4j.PatternLayout log4j.appender.stdout.layout.conversionPattern = %d [%t] %-5p %c - %m%n #日志级别是INFO,标签是weblog log4j.logger.weblog=INFO, weblog #输出到指定文件extProfile.log中 log4j.additivity.weblog=true; log4j.appender.weblog=org.apache.log4j.DailyRollingFileAppender #输出到resin根目录的logs文件夹,log4j会自动生成目录和文件 log4j.appender.weblog.File=../logs/weblog.log log4j.appender.weblog.layout=org.apache.log4j.PatternLayout log4j.appender.weblog.layout.ConversionPattern=%d [%t] %-5p %c - %m%n