转自:
Java常用日志框架详解
下文笔者讲述日常开发中常见的日志框架简介说明,如下所示
日志框架简介
Java日常开发中我们常见的日志框架有:JDKLog、Log4J、LogBack、SLF4J、SLF4J下文将依次讲述各日志框架的用途,如下所示
JDKLog(日志小刀)
JDKLog是JDK官方提供的一个记录日志的方式,直接在JDK中就可以使用。import java.util.logging.Logger; /****** JDKLog 示例**/ public class JDKLog {public static void main(String[] args) {Logger logger = Logger.getLogger("JDKLog");logger.info("Hello World JDKLog.");} }
JDKLog优点:使用非常简单,无需外界jar包但是功能简单,扩展性差,目前市面上很少人使用
Log4J日志大炮
Log4j简介
Log4J是Apache中的日志开源框架有多个分级(DEBUG/INFO/WARN/ERROR)记录级别可区分记录,非常方便日志查看 Log4J:有1.X版本和2.X 版本现在官方推荐使用 2.X 版本2.X架构和配置上都进行了调整 注意事项:log4J1.x版本已经停止维护(2015年8月)现在大家都使用Log4j2版本
Log4j2使用示例
1.使用Log4J2.x框架首先需要引入依赖的包org.apache.logging.log4j log4j-api 2.6.2 2.增加配置文件 log4j2.xml 放在 resource 目录下: org.apache.logging.log4j log4j-core 2.6.2 注意事项:节点level属性表示输出的最低级别 3:编写测试类import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger;/****** Log4J Demo**/ public class Log4jLog {public static void main(String args[]) {Logger logger = LogManager.getLogger(Log4jLog.class);logger.debug("Debug Level");logger.info("Info Level");logger.warn("Warn Level");logger.error("Error Level");} }
注意事项:当没有配置log4j2.xml配置文件则LOG4J将自动启用类似于下面的的配置文件
LogBack日志火箭
LogBack是Log4J进化版它和Log4j的日志框架属于一个作者LogBack具有Log4j的所有优点,并且还引入占位符的概念
使用LogBack示例
1.引入相应的jar包2.配置logback.xml ch.qos.logback logback-classic 1.1.7 注意事项:LogBack 的日志级别区分可以细分到类或包这样就可以使日志记录变得更加灵活在之后的类文件中引入Logger类,并进行日志记录。3.测试代码编写import org.slf4j.Logger; import org.slf4j.LoggerFactory; /****** LogBack Demo**/ public class LogBack {static final Logger logger = LoggerFactory.getLogger(LogBack.class);public static void main(String[] args) {logger.trace("Trace Level.");logger.debug("Debug Level.");logger.info("Info Level.");logger.warn("Warn Level.");logger.error("Error Level.");} } %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
LogBack优点
1.LogBack解决Log4J不能使用占位符的问题 2.运行速度快 3.内部集成了SLF4J