log4j技术
1.什么是日志技术,开发中为什么要用日志技术
日志 : 它是
Apache公司提供的
企业主流日志技术,
在系统运行过程中,记录关键信息、记录错误异常信息的技术。
日志代码量占总代码量的4%
* 区分 System.out 和 日志技术
* System.out 向控制台输入信息,一定输出* 日志技术它存在级别,通过级别控制日志是否输出,输出的详细程度,输出的目的地(控制台、文件、发送邮件)
使用日志:主要用于开发过程中调试和项目上线后的维护(记录bug)
2.使用log4j 通过配置文件,配置日志框架使用
src/log4j.xml
src/log4j.properties (简单)
配置log4j.properties 有三个组件
①组件一:记录器(Loggers)用来配置日志输出级别,使用哪些输出源 【
一个记录器指定多个输出源(日志的输出目标)】
格式:记录器名 = 级别, 输出源1 , 输出源2 ...
//
info
是日志级别
,
stdout
是输出源名称
log4j.rootLogger=info, stdout
* log4j提供日志级别 由高到低 :fatal(致命错误), error(普通错误), warn(警告),info(信息), debug(调试), trace(堆栈 )
* log4j记录日志时,
只会记录配置级别更高级别的信息
②组件二:输出源(Appenders)在log4j中可以定义多个输出源(控制台、日志文件、邮件、数据库)
格式:log4j.appender.输出源名称 = 实现类
log4j.appender.stdout=org.apache.log4j.ConsoleAppender //向控制台输出
log4j.appender.file=org.apache.log4j.FileAppender //向文件输出
③组件三:布局(Layouts)在日志中都记录哪些信息
//
自定义布局
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
//
自定义布局格式
(查看布局相关文档,阅读其意思)
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
3.在程序中使用log4j 记录日志
①步骤一:定义记录器(Java类中)
//参数为当前类
private static final Logger LOG = Logger.getLogger(Log4jTest.class);
②步骤二:使用log4j提供每个级别方法记录日志
LOG.fatal("致命错误");
LOG.error("普通错误");
LOG.warn("警告信息");
LOG.info("普通信息");
LOG.debug("调试信息");
LOG.trace("堆栈信息");
*常用 : error、warn、info、debug
应用场景
假如给你一个项目,你如何来找出错误信息?
那么,这里我们就可以通过日志文件中的日志信息来看,如果项目中没有日志那就加日志(同样的,一个项目中没有日志文件那这个项目渣的不行啊!)
上面是一种情况,那么另外一种情况便是对于我们操作信息的监控便于我们对信息的查询以及相关数据进行数据分析(我们也是要搞搞大数据的嘛!可是没有数据搞什么啊!)。