2019独角兽企业重金招聘Python工程师标准>>>
首先介绍下常见的开源日志组件:
log4j是apache实现的一个开源日志组件
logback同样是由log4j的作者设计完成的,拥有更好的特性,用来取代log4j的一个日志框架,是slf4j的原生实现
Log4j2是log4j 1.x和logback的改进版,据说采用了一些新技术(无锁异步、等等),使得日志的吞吐量、性能比log4j 1.x提高10倍,并解决了一些死锁的bug,而且配置更加简单灵活
然后了解下slf4j:
slf4j是对所有日志框架制定的一种规范、标准、接口,并不是一个框架的具体的实现,因此slf4j接口并不能独立使用,需要和具体的日志框架实现配合使用(如log4j、logback),使用接口的好处是当项目需要更换日志框架的时候,只需要更换jar和配置,不需要更改相关java代码。
下面介绍SpringBoot如何继承log4j2
一、项目中添加maven依赖
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-logging
org.springframework.boot
spring-boot-starter-log4j2
注:SpringBoot默认使用logback作为日志组件,需先排除
二、在resources目录下新建log4j2.xml配置文件
- 配置文件的格式:log2j配置文件可以是xml格式的,也可以是json格式的,
- 配置文件的位置:log4j2默认会在classpath目录下寻找log4j2.xml、log4j.json、log4j.jsn等名称的文件,如果都没有找到,则会按默认配置输出,也就是输出到控制台
logs
%d{yyyy-MM-dd HH:mm:ss.SSS} [%t-%L] %-5level %logger{36} %L %M - %msg%xEx%n
二、在application.yml或properties中配置log4j2.xml的目录
########################################################
### log4j2配置
########################################################
logging:
config: classpath:log/log4j2_dev.xml
注意:如使用yml格式匹配值文件,需要额外引入依赖库,如下:
com.fasterxml.jackson.core
jackson-databind
com.fasterxml.jackson.dataformat
jackson-dataformat-yaml
三、在代码中使用
package com.yuq.sunrise.common.controller;
import com.alibaba.druid.util.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.ModelAttribute;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/**
* @author :yuq
* @date :Created in 2019/6/8 23:09
* @description:Controller公共组件
* @modified By:
* @version: 1.0$
*/
public abstract class AbstractController {
/**
* create by: yuq
* description:
* slf4j是对所有日志框架制定的一种规范、标准、接口,并不是具体的实现,所以为了实现通用这里采用slf4j,
* 当项目需要更换日志框架的时候,只需要更换jar和配置,不需要更改相关java代码
* create time: 2019-06-08 23:18
*
* @param null
* @return
*/
protected Logger logger = LoggerFactory.getLogger(getClass());
注意:这里引入的Logger是slf4j的规范,也可以引入log4j;引入slg4j是为了通用,以免更换jar后需要重新改动。
四、启动项目看下效果