转自:
下文笔者讲述日常开发中常见的日志框架简介说明,如下所示
日志框架简介
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