详细总结LOG4J的使用

本文介绍Log4j的日志配置方法及应用实例,通过一个简单的Java程序演示如何配置并使用Log4j进行不同级别的日志记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1 import java.util.*;
 2 import java.io.*;
 3 import org.apache.log4j.Logger;
 4 import org.apache.log4j.BasicConfigurator;
 5 import org.apache.log4j.PropertyConfigurator;
 6 import org.apache.log4j.Priority;
 7 
 8 public class TestLog4j
 9 {
10     protected TestLog4j ()
11     {        
12        String path = System.getProperty ("user.dir",".");
13        System.out.println("!!!!"+path);
14         path += "\\..\\source\\TestLog4j\\log4j.properties";
15         System.out.println ("???"+path);
16         PropertyConfigurator.configure (path);
17         Logger log = Logger.getLogger (getClass().getName ());
18         log.info ("test in TestLog4j.java ");
19       //  return logger;
20     }
21 }
22 

log4j的使用非常广泛。在这个程序中程序读取配置文件,配置文件内容如下:
<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--> 1 #log4j.rootLogger = DEBUG, A1
 2 log4j.rootLogger = INFO, A1
 3 #log4j.appender.A1 = org.apache.log4j.ConsoleAppender
 4 log4j.appender.A1 = org.apache.log4j.FileAppender
 5 #可以滚动
 6 log4j.appender.A1 = org.apache.log4j.RollingFileAppender
 7 log4j.appender.A1.File = c:\\example.log
 8 #到500k则将新建gisWS1.log 依此类推
 9 log4j.appender.A1.MaxFileSize=500KB
10 #最多允许建立10个这样的日志文件,当gisWS10.log满500k 则重新覆盖example1.log
11 log4j.appender.A1.MaxBackupIndex=10
12 log4j.appender.A1.layout = org.apache.log4j.PatternLayout
13 #log4j.appender.A1.layout.ConversionPattern = %-4r [%t] %-5p %%- %m%n
14 log4j.appender.A1.layout.ConversionPattern = [%d] [%t] %m%n

配置文件的含义如注释所言。
log4j使用了单态设计模式,所以在同一个项目,的另外一个程序中也要打印日志。直接可以用:
<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->1 Logger logger = Logger.getLogger (Main.class.getName ());
2         logger.debug ("Start of the main() in TestLog4j");
3         logger.info ("Just testing a log message with priority set to INFO");
4         logger.warn ("Just testing a log message with priority set to WARN");
5         logger.error ("Just testing a log message with priority set to ERROR");
6         logger.fatal ("Just testing a log message with priority set to FATAL");
7         logger.log (Priority.WARN, "Testing a log message use a alternate form");
8         logger.debug (TestLog4j.class.getName ());
这样日记配置全局起作用,日志也写到一个地方的。
虽然随JDK版本的升高,已经带有非常好用的日志记录API类,但是log4j的使用已经深入人心。掌握log4j的使用是非常有必要的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值