---恢复内容开始---
问题的引入
把所有的信息打印在控制太上不行吗?
01.控制太台有行数限制;
02.System.out.prrintlin()影响系统性能;
03.如果我们需要对一些用户的行为习惯进行分析,我们找不到用户的数据!
程序中出现了问题怎么办?
01.debuy断点调试;(务必掌握)
02.System.out.println()把信息打印在console控制台上(不会debug的情况下)
*******************************************************************************************************************************************************************
log4j(log for java)
01.是Apache的一个开源项目;
02.是使用java语言编写的一个日志框架;
03.用于记录程序中的日志信息;
04.可以将日志信息输出到控制台,文件等目地。
log(日志,记录):大家平时上网或者安装软件的时候,经常会看到一些以.log结尾的文件,这就是我们的日志文件。
*******************************************************************************************************************************************************************
log4j的作用
01.记录代码中变量的变化情况,易于我们的代码调试和后期维护。
02.周期性保存一些数据到文件中,以便于后续使用。
03.可以设置日志信息的级别,便于管理。
*******************************************************************************************************************************************************************
log4j的日志组成部分
01.日志记录器
02.日志的输出格式
03.日志的输出目的地
01. log4j的日志记录器(logger)
og.apache.log4j.Level类中有8个级别:
OFF (关,所有) 级别最高,用于关闭所有的日志记录
FATAL(致命的) 严重的错误时间将会导致应用程序的退出
ERROR(错误的) 错误事件,但仍然不影响系统的继续运行
WARN(警告) 会出现潜在的错误情形
INFO(信息) 消息在粗粒度级别上突出强调应用程序的运行过程
DEBUG(调试) 细粒度信息时间对调试应用程序非常有帮助
TRACE(追踪) 细粒度比DEBUG更低的信息事件
ALL(开,所有) 级别最低,用于开启所有的日志记录 生产环境时,建议吧DEBUY日志级别换成WARN,避免产生大量文件!02.logj的日志输出格式(Layout)
%p :日志信息的优先级
%d :日志的输出时间 比如%d{yyyy-MM-dd hh:mm:ss}
%c :输出日志信息的全类名
%l :日志输出的位置,包含类名,线程和日志输出的行号
%m :日志输出的信息
%M :日志输出的所咋方法
%n :换行
%r :从程序启动到输出日志信息,经历的时间(毫秒)
%t :输出日志信息的线程
03.log4j的日志输出目的地(Appender)
01.指定日志信息输出到那个地方
02.可以同时指定多个输出目的地
03.一个输出目的地就是一个Appender===》一个类
例子:
将日志信息输出到console控制台===》ConsoleAppender
将日志信息输出到文件中 ===》RollingFileAppendr DailyRolingFileAppender
RolingFileAppender :按照文件的大小生成新文件
DailyRolingFileAppender :按照时间生成新文件