什么是日志技术:
日志技术就类似于平日里使用的日记本,用于记录一些代码和平时程序上在运行中的点点滴滴,并永久存储。
为什么要使用日志技术:
日志与输出语句有着一些共同点:都可以记录信息。但是由于输出语句取消记录信息时需要修改代码,比较麻烦,而且信息只能展示在控制台,不能记录在其他位置比如文件和数据库,不太方便。所以使用日志技术克服这些弊端,使操作更加便捷有效。
有关多线程+++比较特殊的一点,使用多线程方式记录日志不影响业务代码的性能。而输出语句是和业务代码在同一个线程中。
日志技术的体系结构:
1丶3两套日志接口;JCL和slf4j
2丶日志实现:Log4j,JUL, logback..
Log4j:控制日志信息的输出目的,文件等位置 。控制日志的输出格式..。定义日志信息的级别控制日志的生成过程 。可以通过配置文件灵活的配置,而不需要修改应用的代码。
Log4j基本代码演示:
package Junit;
import org.slf4j.ILoggerFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class MyLog4j1 {
private static final Logger LOGGER= LoggerFactory.getLogger(MyLog4j1.class);
public static void main(String[] args) {
//1.导入jar包
//2.编写配置文件
//3.在代码中获取日志的对象
//1.使用Log4j的api来获取日志对象,但是如果更换日志实现类,下面代码就要跟着改
//private static final Logger LOGGER= Logger.getLogger(MyLog4j1.class)
//2.使用slf4j里面的api来获取日志对象(推荐使用)
//优点:如果以后更换日志实现类,下面的代码不需要跟着改
//4.按照日志级别设置日志信息
LOGGER.debug("debug级别的日志");
LOGGER.info("info级别的日志");
LOGGER.warn("warn级别的日志");
LOGGER.error("error级别的日志");
}
}
Log4j组成:
1.Logger(记录器) :日志的级别
常见五级别:DEBUG<INFO<WARN<ERROR<FATAL
Log4j规则:只输出级别不低于设定级别的日志信息
2.Appenders(输出源):日志要输出的地方
org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppernder(文件)
log4j.appender.ca 设置1=值1
3.Layouts(布局):日志要输出的格式
常用布局管理器:
1. org.apache.log4j.PatternLayout(可以灵活的指定布局模式)(最常用)
2.org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
3.org.apache.log4j.TTCCLayout(包含日志生产时间丶线程丶类别等信息)
log4j.appender.ca.layout 设置1=值1