您的位置:首页 > 其它

log4j的简单使用

2010-04-23 16:26 239 查看
1.首先需要jar包:log4j-1.2.8.jar

2.编写log4j的配置文件:log4j.properties

log4j.logger.Log4jTest=Info,testlog
log4j.appender.testlog=org.apache.log4j.FileAppender
log4j.appender.testlog.File=./xml/testlog.log
log4j.appender.testlog.Encoding=GBK
log4j.appender.testlog.layout=org.apache.log4j.PatternLayout
log4j.appender.testlog.layout.ConversionPattern=%d{yyyy MM dd HH:mm:ss,SSS} %5p %c{1}:%L : %m%n

log4j.logger.A(A可以为类的完整路径,也可以是一个名称)

log4j.appender.testlog的参数值有如下:

org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
org.apache.log4j.SocketAppender (Socket)
org.apache.log4j.NtEventLogAppender (NT的Event Log)
org.apache.log4j.JMSAppender (电子邮件)

log4j.appender.testlog.File=./xml/testlog.log表示输出目标文件

log4j.appender.out1.layout=org.apache.log4j.PatternLayout表示了日志信息的布局,也可以设置成其他布局形式:

org.apache.log4j.HTMLLayout(以HTML表格形式布局)
org.apache.log4j.PatternLayout(可以灵活地指定布局模式)
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

log4j.appender.out1.layout.ConversionPattern=%d{ABSOLUTE} [%t] %-5p %-30.30c{2} %x - %m %n

表示了日志信息的格式,参数如下:
%m 输出代码中指定的消息
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
%r 输出自应用启动到输出该log信息耗费的毫秒数
%c 输出所属的类目,通常就是所在类的全名
%t 输出产生该日志事件的线程名
%n 输出一个回车换行符,Windows平台为“/r/n”,Unix平台为“/n”
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格 式,比如:%d{yyy MMM dd HH:
mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921
%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。
3.java代码中使用:

package log4j;

import java.io.File;
import java.io.IOException;

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;

public class Log4jTest {
// private static Logger logtest =
// Logger.getLogger(Log4jTest.class.getName());对应配置文件中的类完整路径
private static Logger logtest = Logger.getLogger("Log4jTest");//对应配置文件中的名称

public void logContent(String str) {
String path = "";
try {
path = new File("./xml/log4j.properties").getCanonicalPath();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
PropertyConfigurator.configure(path);
logtest.info(str);
}

public static void main(String[] args) {
new Log4jTest().logContent("The fist time use log4j");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: