springboot整合log4j打印日志
1.首先排除spring自带的日志依赖:(在org.springframework.boot 这个依赖里面排除)
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <exclusions> <!--不使用自带的日志,会引进其他的日志框架--> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> </dependency>
2.添加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并且放到资源文件目录src/main/resources目录下:
log4j.rootLogger=DEBUG,stdout,file log4j.additivity.org.apache=true log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.threshold=INFO log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%-5p %c{1}:%L - %m%n log4j.appender.file=org.apache.log4j.DailyRollingFileAppender log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.DatePattern='.'yyyy-MM-dd-HH-mm log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n log4j.appender.file.Threshold=INFO log4j.appender.file.append=true log4j.appender.file.File=/workspaces/logs/foodie-api/mylog.log
4.简单使用:
@RestController public class HelloController { final static Logger logger= LoggerFactory.getLogger(HelloController.class); @RequestMapping("/hello") public Object hello(){ logger.info("info:hello"); logger.debug("debug:hello"); logger.warn("warn:hello"); logger.error("error:hello"); //一共有五种级别,但是常用的是这四种 return "hello world"; } }
这里只打印三种,
是因为:在配置文件中: 设置的是info,换成 DEBUG,就可以打印四种,常用的是INFO
注意:
log4j.appender.file.File=/workspaces/logs/foodie-api/mylog.log #日志保存地址
这里没有写是哪个盘,是以项目在哪个盘为主