Log4j的使用

LOG4J安装配置全部过程。 

0、首先当然要下载log4j.jar了 
下载地址:http://logging.apache.org/log4j/1.2/download.html 
我下载的是log4j-1.2.15.jar 

1、新建Web Project 

工程名:log4j (自己定义) 



2、给工程添加Log4j 
从0步下载的文件中找到log4j-1.2.15.jar文件,将其添加到工程的lib目录下。这步很简单的,但要确定jar包添加到了工程的构建路径。 



3、创建并配置 log4j.properties文件 
在src源文件目录下添加log4j.properties文件。 
编辑文件内容: 

#Console config 
#OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL 
#log4j.rootLogger=error, stdout, R 
#log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
#log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
#log4j.appender.stdout.layout.ConversionPattern=<%d>{yyyy MMM dd HH:mm:ss,SSS} <%-5p> <%c> <%t> - %m(%F:%M:%L)%n 

#log4j.appender.R=org.apache.log4j.DailyRollingFileAppender 
#log4j.appender.R.File=f:\\qc.log 
#log4j.appender.R.layout=org.apache.log4j.PatternLayout 
#log4j.appender.R.layout.ConversionPattern=%d-[TS] %p %t %c - %m%n 

log4j.rootLogger=DEBUG,CONSOLE 
#,A1,im 
log4j.addivity.org.apache=true 

# 应用于控制台 

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender 
log4j.appender.Threshold=DEBUG 
log4j.appender.CONSOLE.Target=System.out 
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout 
log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m %n 
#log4j.appender.CONSOLE.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD] n%c[CATEGORY]%n%m[MESSAGE]%n%n 

#应用于文件 

log4j.appender.FILE=org.apache.log4j.FileAppender 
log4j.appender.FILE.File=f:\\file.log 
log4j.appender.FILE.Append=false 
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout 
log4j.appender.FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n 
# Use this layout for LogFactor 5 analysis 

# 应用于文件回滚 
log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender 
log4j.appender.ROLLING_FILE.Threshold=ERROR 
log4j.appender.ROLLING_FILE.File=f:\\rolling.log 
#文件位置,也可以用变量${java.home}、rolling.log 
log4j.appender.ROLLING_FILE.Append=true       
#true:添加   false:覆盖 
log4j.appender.ROLLING_FILE.MaxFileSize=10KB   
#文件最大尺寸 
log4j.appender.ROLLING_FILE.MaxBackupIndex=1   
#备份数 
log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout 
log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n 


#应用于socket 
#log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender 
#log4j.appender.SOCKET.RemoteHost=localhost 
#log4j.appender.SOCKET.Port=5001 
#log4j.appender.SOCKET.LocationInfo=true 
# Set up for Log Facter 5 
#log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout 
#log4j.appender.SOCET.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]%n%c[CATEGORY]%n%m[MESSAGE]%n%n


# Log Factor 5 Appender 
#log4j.appender.LF5_APPENDER=org.apache.log4j.lf5.LF5Appender 
#log4j.appender.LF5_APPENDER.MaxNumberOfRecords=2000 

# 发送日志给邮件 
# log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender 
# log4j.appender.MAIL.Threshold=FATAL 
# log4j.appender.MAIL.BufferSize=10 
# log4j.appender.MAIL.From=web@www.wuset.com 
# log4j.appender.MAIL.SMTPHost=www.wusetu.com 
# log4j.appender.MAIL.Subject=Log4J Message 
# log4j.appender.MAIL.To=web@www.wusetu.com 
# log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout 
# log4j.appender.MAIL.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n 

# 用于数据库 
#log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender 
#log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test 
#log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver 
#log4j.appender.DATABASE.user=root 
#log4j.appender.DATABASE.password= 
#log4j.appender.DATABASE.sql=INSERT INTO LOG4J (Message) VALUES ('[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n') 
#log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout 
#log4j.appender.DATABASE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n 

log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.A1.File=SampleMessages.log4j 
log4j.appender.A1.DatePattern=yyyyMMdd-HH'.log4j' 
log4j.appender.A1.layout=org.apache.log4j.xml.XMLLayout 

#自定义Appender 
#log4j.appender.im = net.cybercorlin.util.logger.appender.IMAppender 
#log4j.appender.im.host = mail.cybercorlin.net 
#log4j.appender.im.username = username 
#log4j.appender.im.password = password 
#log4j.appender.im.recipient = corlin@cybercorlin.net 
#log4j.appender.im.layout=org.apache.log4j.PatternLayout 
#log4j.appender.im.layout.ConversionPattern =[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n 


4、配置web.xml 

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="2.5" 
     xmlns="http://java.sun.com/xml/ns/javaee" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 
   <welcome-file-list> 
     <welcome-file>index.jsp</welcome-file> 
   </welcome-file-list> 
   
   <servlet>   
     <servlet-name>log4j-init</servlet-name>   
     <servlet-class>test.Log4jInit</servlet-class> 
     <init-param> 
         <param-name>log4j</param-name> 
         <param-value>WEB-INF/classes/log4j.properties</param-value> 
     </init-param>   
     <load-on-startup>1</load-on-startup> 
   </servlet> 

</web-app> 


5、创建初始化Log4jInit.java 

package test; 

import org.apache.log4j.*; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
     
@SuppressWarnings("serial") 
public class Log4jInit extends HttpServlet {   
       public void init() { 
             String prefix =getServletContext().getRealPath("/"); 
             String file = getInitParameter("log4j");//配置文件位置 
             if(file != null) {   
                 PropertyConfigurator.configure(prefix+file);   
             }   
       } 

       public void doGet(HttpServletRequest req, HttpServletResponse res) 
     {     } 


6、至此,log4j配置成功。在项目中就可以正常引用了。使用方法如下: 

package test; 

import org.apache.log4j.Logger; 

import com.sun.org.apache.commons.logging.Log; 
import com.sun.org.apache.commons.logging.LogFactory; 

public class Log4jTest { 
     private static Logger log = Logger.getLogger(Log4jTest.class); 
     public void test() { 
         log.debug("debug"); 
         log.trace("trace"); 
         log.debug("befor say hi"); 
         
         
         log.info("info"); 
         log.warn("warn"); 
         log.fatal("fatal"); 
         log.error("error"); 
     } 



注:以上配置的是使用控制台打印日志信息的方式。 
例如:上例将在控制台打印如下: 

[framework] 2008-07-10 09:37:02,203 - test.Log4jTest -0     [http-8081-1] DEBUG test.Log4jTest   - debug 
[framework] 2008-07-10 09:37:02,203 - test.Log4jTest -0     [http-8081-1] DEBUG test.Log4jTest   - befor say hi 
[framework] 2008-07-10 09:37:02,203 - test.Log4jTest -0     [http-8081-1] INFO   test.Log4jTest   - info 
[framework] 2008-07-10 09:37:02,203 - test.Log4jTest -0     [http-8081-1] WARN   test.Log4jTest   - warn 
[framework] 2008-07-10 09:37:02,203 - test.Log4jTest -0     [http-8081-1] FATAL test.Log4jTest   - fatal 
[framework] 2008-07-10 09:37:02,203 - test.Log4jTest -0     [http-8081-1] ERROR test.Log4jTest   - error 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值