问题的引入:
把所有的信息打印在控制台上不行吗?
01.控制台有行数限制;
02.System.out.println()影响系统性能;
03.如果我们需要对一些用户的行为习惯进行分析,我们找不到用户的数据!
程序中出现了问题怎么办?
01.debug断点调试;(务必掌握)
02.System.out.println()把信息打印在console控制台上(不会debug)
记录日志:
作用:
01.记录代码中变量的变化情况,易于我们的代码调试和后期维护;
02.周期性保存一些数据到文件中,以便于后续使用;
03.可以设置日志信息的级别,便于管理。
组成部分:
01.日志记录器
02.日志的输出格式
03.日志的输出目的地
八个输出级别:
OFF 级别最高,用于关闭所有的日志记录
FATAL 严重的错误事件将会导致应用程序的退出
ERROR 错误事件,但仍然不影响系统的继续运行
WARN 会出现潜在错误的情形
INFO 消息在粗粒度级别上突出强调应用程序的运行过程
DEBUG 细粒度信息事件对调试应用程序非常有帮助
TRACE 细粒度比DEBUG更低的信息事件
ALL 级别最低,用于开启所有的日志记录
生产环境时,建议把DEBUG日志级别换成WARN,避免产生大量文件!
日志输出格式(Layout)
%p : 日志信息的优先级
%d : 日志的输出时间 比如 %d{yyyy-MM-dd hh:mm:ss}
%C : 输出日志信息的全类名
%l : 日志输出的位置,包含类名,线程和日志输出的行号
%m : 日志输出的信息
%M : 日志输入所在的方法
%n : 换行
%r : 从程序启动到输出日志信息,经历的时间(毫秒)
%t : 输出日志信息的线程
log4j的日志输出目的地
01.指定日志信息输出到哪个地方
02.可以同时指定多个输出目的地
03.一个输出目的地就是一个Appender ===》一个类
例子:
将日志信息输出到console控制台 =====》ConsoleAppender
将日志信息输出到文件中 =====》RollingFileAppender DailyRollingFileAppender
RollingFileAppender :按照文件的大小生成新文件
DailyRollingFileAppender : 按照时间生成新文件
log4j的使用
、
来源:https://www.cnblogs.com/fl72/p/9253804.html