Log4j的日志的使用

[url]http://blog.csdn.net/wuhailin2005/article/details/3734456[/url]
Log4j的日志的使用
1. 为什么要使用Java日志
在程序的开发过程中我们需要调试程序,这时我们通过建立日志文件来记录程序的异常信息,当然有人说我们可以在IDE环境中通过控制台来查看堆栈信息也是可以调试程序,甚至通过单步调试来进行。没错,可是如果我们能够对异常信息进行保存那不是更好吗?所以Java日志的第一个作用就是在开发阶段记录程序的调试信息。
另外更为重要的是在产品交付使用后,我们可以用日志文件来记录程序的运行期间所发生的问题,帮助我们跟踪程序的运行状态,用户的使用信息,以改进程序,以方便维护人员查找问题,这是日志的第二个作用

2. Log4j的下载安装
Log4j是Java最流行的日志处理框架,包括许多著名的开源项目都是通过Log4j来记录和管理日志信息的,例如Hibernate。那么到哪里去下载Log4j呢,我们可以在apache的网站上down一个Log4j,地址是:http://logging.apache.org/log4j/去下载,下载解压后将log4j-1.2.15.jar文件拷贝到你的程序的classpath中去,这样就可以使用log4j的日志功能了。

3. Log4j的使用
package com.log;

import java.util.Date;
import org.apache.log4j.Logger;

/**
* 演示log4j的使用
* @author wuhailin
*/
public class MainClass {

// 调用Logger的getLogger方法获得一个Logger的实例,在这个方法中通常传入当前要记录的类
private static Logger log = Logger.getLogger(MainClass.class);

/**
* @param args
*/
public static void main(String[] args) {
log.info("程序开始运行"+ new Date().toString());
int result = 0;
try {
result = 4 / 0;
} catch (Exception ex) {
log.error("在获得两个数相除的结果时产生异常.", ex);
}
log.info("程序运行结束"+ new Date().toString());
}
}

4. log4j日志的简单配置及使用Log4j.properties

#######################################################################
#将JDBC日志记录到JDBC记录器中 modify by wuhailin
log4j.logger.JDBC=debug,JDBC
log4j.appender.JDBC=org.apache.log4j.RollingFileAppender
log4j.appender.JDBC.File=../log/jdbc.log
log4j.appender.JDBC.layout=org.apache.log4j.PatternLayout
log4j.appender.JDBC.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
log4j.appender.JDBC.MaxFileSize=2048KB
在使用JDBC的地方可以先加入这段代码
static org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger("JDBC");
需要记录日志的地方加入
log.debug("日志内容");//例如,log.debug("[insert statement in TapeTTSDAOImpl.addTapeTTSFile]"+sql);
5. log4j的详细配置
在上面的代码中如果运行就会在控制台上输出下列信息:
log4j:WARN No appenders could be found for logger (liky.log.MainClass).
log4j:WARN Please initialize the log4j system properly.
这是因为你还没有配置log4j的配置文件,log4j的日志文件有两种格式,一种是java的属性文件.properties文件,另一种是.xml文件,这里我们以属性文件为例说明如何配置。
首先在你当前的源代码src根目录下新建一个log4j.properties文件,然后在文件中输入下列内容:

# log4j.rootLogger=level,appenderName1,...,appenderNameN
# 表示日志记录所有包中的所有的类的日志,可以在同时声明多个日志,每个日志都可以单独配置
# all:表示日志的级别,可用的选项有:all、trace、debug、info、warn、error、fatal、off
# all表示输出所有信息,off表示任何信息都不记录,越往后级别越高,记录的信息越少
log4j.rootLogger=all,root

# log4j.logger.package: 如果只是记录一部分包的类的日志则使用log4j.logger.package
# 例如:log4j.logger.liky.log.test就表示只记录liky.log包中的类的日志
log4j.logger.liky.log.test=info,test

# log4j.appender.appenderName=org.appender.log4j.Appender
# 表示日志的输出到哪里,Appender表示org.appender.log4j这个包中实现了Appender接口的类
# 实现了Appender接口的类有很多,最常用的有:
# org.apache.log4j.ConsoleAppender:输出到控制台
# org.apache.log4j.FileAppender:输出到日志文件,使用一个日志文件,没有大小限制
# org.apache.log4j.DailyRollingFileAppender:输出到日志文件,每天产生一个日志文件
# org.apache.log4j.RollingFileAppender:输出到日志文件,如果超过了限定大小,则重新产生一个新的
# org.apache.log4j.WriterAppender:将日志文件以字符串流的格式发送到客户指定的任何地方
# org.apache.log4j.jdbc.JDBCAppender:将日志文件输出到数据库中
log4j.appender.root=org.apache.log4j.FileAppender

log4j.appender.test=org.apache.log4j.DailyRollingFileAppender

# log4j.appender.appernderName.File=filePath/fileName
# 如果指定日志输出到文件中,那么需要制定日志文件的路径和文件名,这里和文件的样式相关联
log4j.appender.root.File=log.html
log4j.appender.test.File=test.html

# log4j.appender.appenderName.layout=org.apache.log4j.formatLayout
# 这里制定文件的格式,可选的有:
# org.apache.log4j.HTMLLayout:输出为html格式
# org.apache.log4j.SimpleLayout:由日志的级别和日志的提示信息组成,中间用"-"连接
# org.apache.log4j.TTCCLayout:由时间、线程名、分类、上下文的提示信息组成
# org.apache.log4j.PatternLayout:这是最灵活的日志文件格式,可以配置,相关的配置请参考log4j的文档
log4j.appender.root.layout=org.apache.log4j.HTMLLayout
log4j.appender.test.layout=org.apache.log4j.SimpleLayout
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值