log4j的配置方式和加载方式

1)什么是log4j

log4j是Apache的一个开放源代码的项目,通过使用log4j,我们可以控制日志信息输出到控制台,文件,GUI组件,甚至是套接口服务器,NT的事件记录器,UNIX

 Syslog守护进程等。我们也可以控制每条日志的输出格式,还可以定义每条日志信息的日志级别,实现更加细致的控制日志的生成过程。更方便的是我们可以通过一个配置

文件来灵活的进行配置控制,而不是去修改其源代码。(本段话来自百度百科,略有修改。。)

log4j下载地址:http://logging.apache.org/log4j/1.2/download.html


2)log4j的配置一般有两种方式一种是通过.properties文件方式,另一种是.xml文件方式

两种方式的示例:

a)log4j.properties方式

###设置org.zblog域对应的级别INFO,DEBUG,WARN,ERROR和输出地A1,A2##

log4j.category.org.zblog=ERROR,A1

log4j.category.org.zblog=INFO,A2

###设置输出地A1为ConsoleAppender(控制台)##

log4j.appender.A1=org.apache.log4j.ConsoleAppender

###设置输出地A1的输出布局格式为PatternLayout(可以灵活的指定布局模式)##

log4j.appender.A1.layout=org.apache.log4j.PatternLayout

###配置日志输出的格式##

log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n

###设置A2的输出地为文件(文件的大小到达指定的尺寸的时候,产生一个新的文件)##

log4j.appender.A2=org.apache.log4j.RollingFileAppender

###设置文件的位置##

log4j.appender.A2.File=d:/log4jTest.html

###设置文件的大小##

log4j.appender.A2.MaxFileSize=500kb

###指定采用html的方式输出##

log4j.appender.A2.MaxBackupIndex=1

log4j.appender.A2.layout=org.apache.log4j.HTMLLayout

b)log4j.xml方式

<?xml version="1.0" encoding="GB2312" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="org.zblog.all" class="org.apache.log4j.RollingFileAppender">
<!-- 设置通道ID:org.zblog.all和输出方式:org.apache.log4j.RollingFileAppender -->
   <param name="File" value="E:/study/log4j/all.output.log" /><!-- 设置File参数:日志输出文件名 -->
   <param name="Append" value="false" /><!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 -->
   <param name="MaxBackupIndex" value="10" /> 
   <layout class="org.apache.log4j.PatternLayout">
       <param name="ConversionPattern" value="%p (%c:%L)- %m%n" /><!-- 设置输出文件项目和格式 -->
   </layout>
</appender>
<appender name="org.zblog.zcw" class="org.apache.log4j.RollingFileAppender">
   <param name="File" value="E:/study/log4j/zhuwei.output.log" />
   <param name="Append" value="true" />
   <param name="MaxFileSize" value="10240" /> <!-- 设置文件大小 -->
   <param name="MaxBackupIndex" value="10" /> 
   <layout class="org.apache.log4j.PatternLayout">
       <param name="ConversionPattern" value="%p (%c:%L)- %m%n" />
   </layout>
</appender>
<logger name="zcw.log"> <!-- 设置域名限制,即zcw.log域及以下的日志均输出到下面对应的通道中 -->
   <level value="debug" /><!-- 设置级别 -->
   <appender-ref ref="org.zblog.zcw" /><!-- 与前面的通道id相对应 -->
</logger>
<root> <!-- 设置接收所有输出的通道 -->
   <appender-ref ref="org.zblog.all" /><!-- 与前面的通道id相对应 -->
</root>
</log4j:configuration>


3)配置文件的加载方法示例

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import org.apache.log4j.xml.DOMConfigurator;
public class Log4jApp {
   public static void main(String[] args) {
       DOMConfigurator.configure("E:/study/log4j/log4j.xml");//加载.xml文件
       //PropertyConfigurator.configure("E:/study/log4j/log4j.properties");//加载.properties文件
       Logger log=Logger.getLogger("org.zblog.test");
       log.info("测试");
   }
}

4)如何在项目中使用log4j

在web应用中,可以将log4j的配置文件的加载放置在一个独立的servlet中,并在web.xml文件中配置该文件在应用启动的时候就去加载它。

对于在多人项目中,可以给每个人设置一个日志输出通道,每个人在构建Logger时,可以设置自己的域名,让相应的日志文件以个人想要的方式输出到

指定的位置中。


5)log4j常用的输出格式以及含义

%n:换行

%m:日志内容

%p:日志级别(INFO,DEBUG,WARN,ERROR,FATAL or custom)

%r:程序启动到现在的毫秒数

%%:输出%号

%t:当前线程名

%d:日期和时间

%l:同%F%L%C%M

%F:java源文件名

%L:java源码行数

%C:java类名

%M:java方法名


输出格式的详细说明可以参考地址:http://wenku.baidu.com/view/0688e5fdaef8941ea76e0597.html




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值