为什么要用Log4j来替代System.out.println

这里是修真院前端小课堂,每篇分享文从

【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】

八个方面深度解析前端知识/技能,本篇分享的是:

【为什么要用Log4j来替代System.out.println】

 

1.背景介绍

log4j可能是我们最常用的日志生成的依赖jar包了,当然还有其他的日志生成jar包,但本次不介绍。。。

sout就是System.out.print/println,就是我们常用的控制台打印方法。

Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。

2.知识剖析

Log4j有三个主要的组件:Loggers(记录器),Appenders  (输出源)和Layouts(布局)。这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出。

Loggers组件在此系统中被分为五个级别:DEBUG、INFO、WARN、ERROR和FATAL。

这五个级别是有顺序的,DEBUG < INFO < WARN< ERROR < FATAL,分别用来指定这条日志信息的重要程度。

Log4j有一个规则:只输出级别不低于设定级别的日志信息。

Appenders 配置日志信息输出。

Layouts 设置日志输出的格式,Layouts提供四种日志输出样式,如根据HTML样式、自由指定样式、包含日志级别与信息的样式和包含日志时间、线程、类别等信息的样式。

 

3.为什么不用sout

我们之前看到log4j的配置文件中有输出到文件的相关配置,这就是它和sout的区别,也是我们为什么使用log的关键点,因为我们查找日志信息的时候就可以到相应的日志文件中去查看,并且不会因为程序关闭等等因素丢失掉之前的日志信息,如果是sout的话,程序关闭,信息就丢失了,那我们想看到报错等等,就必须要重新运行程序。

4.扩展思考

Log和sout的信息都是我们自定义的,那输入到.log文件中的就只有我们自定义的信息吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值