Java 标准日志工具 Log4j 的使用(附源代码)
Java 标准日志工具 Log4j 的使用(附源代码)
源代码下载
Log4j 是事实上的 Java 标准日志工具。会不会用 Log4j 在一定程度上可以说是衡量一个开发人员是否是一位合格的
Java 程序员的标准。如果你是一名 Java 程序员,如果你还不会用
Log4j,那你真的很有必要读一下这篇文章了。很多朋友反映想写程序日志,但是却不知道怎么把日志写到日志文件里,而且 Java
这方面的资料似乎不多。如《如何写log4j.xml日志配置文件》
所述。本文详细介绍了如何在项目中使用 Log4j 的步骤,并附加了一个例子性质的代码。
Why Log4j?
有的朋友喜欢用 System.out.println(String msg); 语句来调试代码。这个确实是一个很好的调试工具。但是随着项目的结束,或者问题的解决,这些语句需要我们一个个地揪出来手工删除?《如何一次性删除所有的system.out.println语句
》,这个帖子里的这位网友就遇到了这样一个问题。
全部都删除干净,问题又来了:如果以后又出现问题了该怎么办呢?难道再次添加,问题解决后再次查找到删除?
使用 Log4j 就可以很好地解决上面的问题和矛盾。Log4j 有一个日志级别,用来控制是否进行日志记录。其由低到高的级别如下:
ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF
将日志进行分级的目的就是在于可以灵活配置。比如说如果日志级别限定于 DEBUG,那么包括 DEBUG 在内的,INFO、WARN、ERROR、FATAL、OFF 都会进行日志记录;而如果级别定义为 INFO,那么 INFO 以下的级别,像 DEBUG 的日志就不会记录。比如如下代码:
Logger log = LogManager.getLogger(HelloWorld.class);
log.info("info通过 class 对象来获取 logger 对象");
log.debug("debug通过 class 对象来获取 logger 对象");
log.warn("warn通过 class 对象来获取 logger 对象");
如果你的 Log4j 定义为输出到控制台,日志级别定义为 INFO,那么执行到上面语句块,控制台会输出以下日志信息:
18
相关文档:
熟悉 Java语言及面向对象设计思想
具有扎实的Java编程功底和良好的编码规范
熟悉Jsprvlet开发(Model1、Model2)
熟悉MVC设计模式
熟练掌握HTML语言、JavaScript脚本语言、XML语言
熟练掌握Webwork框架,能够熟练运用Webwrok框架进行web ......
1.你需要精通面向对象分析与设计(OOA/OOD)、涉及模式(GOF,J2EEDP)以及综合模式。你应该十分了解UML,尤其是class,object,interaction以及statediagrams。
2.你需要学习JAVA语言的基础知识以及它的核心类库(collections,serialization,streams,networking, multithreading ......
编者按:对Java社区来说,2009年是一个多事之年:Oracle的收购带来希望但更多的是担忧;对Java7的焦急等待;对是否需要闭包的持
续争议;其他收购对开源社区的影响本文原作者James Sugrue联合Java社区的其他三位核心开发者对2009年的Java进行了盘点。
James Sugrue是JavaLobby和EclipseZone的编辑,一位Eclipse开发者,Jav ......
在剖析该问题前请看如下代码
public static String bytes2HexString(byte[] b) {
String ret = "";
for (int i = 0; i < b.length; i++) {
String hex = Integer.toHexString(b[ i ] & 0xFF);
if (hex.length() == 1) {
hex = '0' ......