Spirngboot项目整合slf4j-log4j进行日志管理
2017-12-19 11:13
459 查看
slf4j全称是:simple logging facade for java可以理解为简单日记门面。
准确的说,slf4j并不是一种具体的日志系统,而是一个用户日志系统的facade,它允许用户在部署最终应用时方便的变更其日志系统。
在系统开发中,统一按照slf4j的API进行开发,在部署时,选择不同的日志系统包,即可自动转换到不同的日志系统上。
比如:选择JDK自带的日志系统,则只需要将slf4j-api-1.5.10.jar和slf4j-jdk14-1.5.10.jar放置到classpath中即可,如果中途无法忍受JDK自带的日志系统了,想换成log4j的日志系统,仅需要用slf4j-log4j12-1.5.10.jar替换slf4j-jdk14-1.5.10.jar即可(当然也需要log4j的jar及配置文件)
下面简单展示一下在springboot项目下如何完成日志的配置和使用,我的项目中是使用了log4j的日志系统
pom.xml
在pom.xml中添加两个依赖,并关闭自带日志系统
log4j.properties
log4j.properties,log4j的配置文件放置在src/main/resources目录下
controller
controller中为日志的具体使用
简单的使用就是这样
准确的说,slf4j并不是一种具体的日志系统,而是一个用户日志系统的facade,它允许用户在部署最终应用时方便的变更其日志系统。
在系统开发中,统一按照slf4j的API进行开发,在部署时,选择不同的日志系统包,即可自动转换到不同的日志系统上。
比如:选择JDK自带的日志系统,则只需要将slf4j-api-1.5.10.jar和slf4j-jdk14-1.5.10.jar放置到classpath中即可,如果中途无法忍受JDK自带的日志系统了,想换成log4j的日志系统,仅需要用slf4j-log4j12-1.5.10.jar替换slf4j-jdk14-1.5.10.jar即可(当然也需要log4j的jar及配置文件)
下面简单展示一下在springboot项目下如何完成日志的配置和使用,我的项目中是使用了log4j的日志系统
pom.xml
在pom.xml中添加两个依赖,并关闭自带日志系统
<!--去除自带日志--> <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> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.25</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.25</version> </dependency>
log4j.properties
log4j.properties,log4j的配置文件放置在src/main/resources目录下
### 设置### log4j.rootLogger = INFO,stdout,D,E,I ### 输出信息到控制抬 ### log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out log4j.appender.stdout.layout = org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n ### 输出DEBUG 级别以上的日志到=logs/error.log ### log4j.appender.D = org.apache.log4j.DailyRollingFileAppender log4j.appender.D.Encoding = UTF-8 log4j.appender.D.File = /root/yw3/logs/log.log log4j.appender.D.Append = true log4j.appender.D.Threshold = DEBUG log4j.appender.D.layout = org.apache.log4j.PatternLayout log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n ### 输出ERROR 级别以上的日志到=logs/error.log ### log4j.appender.E = org.apache.log4j.DailyRollingFileAppender log4j.appender.B.Encoding = UTF-8 log4j.appender.E.File =/root/yw3/logs/error.log log4j.appender.E.Append = true log4j.appender.E.Threshold = ERROR log4j.appender.E.layout = org.apache.log4j.PatternLayout log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n ### 输出INFO 级别以上的日志到=logs/error.log ### log4j.appender.I = org.apache.log4j.DailyRollingFileAppender log4j.appender.I.Encoding = UTF-8 log4j.appender.I.File =/root/yw3/logs/info.log log4j.appender.I.Append = true log4j.appender.I.Threshold = INFO log4j.appender.I.layout = org.apache.log4j.PatternLayout log4j.appender.I.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
controller
controller中为日志的具体使用
package com.borya.controller; @RestController @RequestMapping("/movie") public class movieController { @Autowired private movieService movieService; private static final Logger logger = LoggerFactory.getLogger(movieController.class); @RequestMapping(value = "/getAllMovie") public List<movie> getAllMovie(){ List<movie> result = movieService.getAllMovie(); logger.info("INFO[getAllMovieController:获取视频列表],OUT[数量:" + result.size() + "]"); return result; } }
简单的使用就是这样
相关文章推荐
- Spirngboot项目整合slf4j-log4j进行日志管理
- SSM项目Log4j和MongoDB整合进行日志管理
- SpringBoot+Maven项目实战(6):整合Log4j和Aop,实现简单的日志记录
- Spring Boot 整合 log4j 实现日志管理
- Springboot 整合日志管理
- slf4j 与log4j 日志管理
- spring+maven项目添加log4j和slf4j日志
- slf4j 与log4j 日志管理
- SSH框架整合 日志处理Spring结合 log4j、slf4j
- Spring Boot教程(五)对log4j进行多环境不同日志级别的控制
- springmvc整合slf4j、log4j记录文本日志
- spring整合log4j日志管理配置
- SpringBoot整合Sentry监控项目日志
- JavaEE SSH框架整合(四) 日志处理Spring结合 log4j、slf4j
- Java使用log4j进行日志管理
- 在Java项目中如何使用log4j和slf4j实现日志打印
- SpringBoot整合Sentry监控项目日志
- JavaEE SSH框架整合(四) 日志处理Spring结合 log4j、slf4j [转]
- SpringBoot 使用@Aspect进行日志管理(基于反射代理模式)
- JavaEE——使用log4j进行日志管理