log4j(简单实现)

官方网站: http://logging.apache.org/log4j/

1.下载log4j包
下载版本1.2,1.3已经终止,2.0版本还在开发阶段。

2.导入log4j包

3.写log4j的配置文件(两种方式,.properties或者.xml)
例子:log4j.properties
log4j.rootLogger = debug,appender1,appender2 //设置log4j的输出级别是debug,(常用的日志级别: debug < info < warn < error)
(
ps:级别的设置是很有用的,在开发阶段可以将日志的级别设置为低级别debug,开发人员可以看到详细的日志信息,在用户使用阶段就
将日志级别设置为error,只能看到严重的错误信息
也可以指定到具体包,例如:log4j.logger.com.test = debug,appender1,
)
log4j.appender.appender1 = org.apache.log4j.ConsoleAppender //指日志信息在终端处理,在终端输出
log4j.appender.appender2 = org.apache.log4j.FileAppender
log4j.appender.appender2.File = c:/demolog4j.htm
(
可以将日志信息在指定文件中输出
log4j.appender.appender1 = org.apache.log4j.FileAppender
log4j.appender.appender1.File = c:/demolog4j.log
)
log4j.appender.appender1.layout = org.apache.log4j.TTCCLayout //在终端输出的格式
log4j.appender.appender2.layout = org.apache.log4j.HTMLLayout
(
可以改变日志的输出格式
log4j.appender.appender1 = org.apache.log4j.HTMLLayout//以HTML格式输出
对应的输出的文件log4j.appender.appender1.File = c:/demolog4j.htm
)

============== 分 ================
常用的Appender:
org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件大小到达指定大小的时候产生一个新文件)
org.apache.log4j.WriterAppender(将日志文件以串流格式发送到任何地方)
org.apache.log4j.JdbcAppender(将日志信息保存到数据库)

PS:这些都满足要求,可以再API中找符合要求的,要是还不满足(要求太特别。)可以重写类,继承Appender接口

log4j.appender.filelog.File=your file dir
log4j.appender.filelog.MaxFileSize=your filesize
log4j.appender.mylog.MaxBackupIndex=num设置保存备份文件数量


常用的layout
org.apache.log4j.HTMLLayout(以HTML表格形式布局)
org.apache.log4j.SimpleLayout(简单布局,包含日志讯息的级别和讯息的字符串)
org.apache.log4j.TTCCLayout(包含日志产生的时间,执行者,类别等讯息)
org.apache.log4j.PatternLayout(可以灵活地指定布局模式)

如果使用PatternLayout布局就要指定的打印信息的具体格式ConversionPattern,打印参数如下:
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
%t 输出自应用启动到输出该日志讯息所耗费的毫秒数
%t 输出产生改日志事件的线程名
%f 输出日志讯息所属类的类名
%c 输出日志讯息所属类的全名
%d 输出日志时间点的时间或者日期,指定格式的发式:%d{yyyy-MM-dd HH:mm:ss}
%l 输出日志事件的发生位置,即输出日志讯息的语句处于它所在的类别的第几行
%m 输出代码中指定的讯息,如log(message)中的message
%n 输出一个回车换行符,Windows为"rn",Unix为"n"

=============== 割 =================


4.在相关类中得到日志对象
private static Logger logger = Logger.getLogger("xxx.class");


程序中并没有直接用到log4j的类,而是使用了commons-logging提供的日志类。commons-logging是为"所有的Java日志实现"提供一个统一的接口,它的功能据说“平常弱”。
Log(基本记录器)和LogFactory(负责创建Log实例)。当commons-logging.jar被加入到CLASSPATH之后,它会合理地猜测你喜欢的日志工具,然后进行自我设置,用户根本不需要做任何设置。默认的LogFactory是按照下列的步骤去发现并决定那个日志工具将被使用的(按照顺序,寻找过程会在找到第一个工具时中止):
1.寻找当前factory中名叫org.apache.commons.logging.Log配置属性的值
2.寻找系统中属性中名叫org.apache.commons.logging.Log的值
3.如果应用程序的classpath中有log4j,则使用相关的包装(wrapper)类(Log4JLogger)
4.如果应用程序运行在jdk1.4的系统中,使用相关的包装类(Jdk14Logger)
5.使用简易日志包装类(SimpleLog)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值