Log4j 日志

一、Log4j 日志

Log4j是Apache的一个开源代码项目,通过使用Log4j,我们可以把日志信息输送到控制台、文件等中。

 

Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。

 

日志信息的优先级从高—>低:error、warn、info、debug,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;输出格式控制了日志信息的显示内容。

 

二、log4j使用

1、新建一个web project项目,导入包log4j-1.2.16.jar到web-inf\lib下


2、src下配置log4j.properties文件或者log4j.xml文件 (其实也可以完全不使用配置文件,而是在代码中配置Log4j环境。但是,使用配置文件将使应用程序更加灵活。)

Log4j支持两种配置文件格式,一种是XML格式的文件,一种是properties格式的文件。


Properties文件配置:

log4j.rootLogger=debug,stdout,file

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

log4j.appender.stdout.Target=System.out

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

log4j.appender.stdout.layout.ConversionPattern=[%d{yyyy-MM-ddHH:mm:ss}]%p %rs %l - %m%n

log4j.appender.file=org.apache.log4j.RollingFileAppender

log4j.appender.file.File=${webappHome}/logs/news_1.0.log

log4j.appender.file.MaxFileSize=100KB

log4j.appender.file.MaxBackupIndex=1

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

log4j.appender.LOGFILE.DatePattern='_'yyyyMMdd'.log'

log4j.appender.file.layout.ConversionPattern=[%d{yyyy-MM-ddHH:mm:ss}]%p [%t] (%F:%L) - %m%n

 

或者使用

XML文件配置:

<?xml version="1.0"encoding="UTF-8"?>

<!DOCTYPE log4j:configuration SYSTEM"./log4j.dtd" >

<log4j:configuration>

   <appender name="stdout"class="org.apache.log4j.ConsoleAppender">

       <param name="Threshold" value="debug" />

       <layout class="org.apache.log4j.PatternLayout">

           <param name="ConversionPattern" value="%5p %c{1}:%L -%m%n" />

       </layout>

   </appender>

   <root>

       <level value="debug" />

       <appender-ref ref="stdout" />

   </root>

</log4j:configuration>

 

3.编写一个Servelet读取配置文件log4j.properties信息

如:Log4jInit.java

package com.cn;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import org.apache.log4j.PropertyConfigurator;

public class Log4jInit extends HttpServlet{

         public void init() throws ServletException{

                   Stringprefix=getServletContext().getRealPath("/");//获取当前web应用的根目录

                   System.out.println(prefix);

                   Stringfile=getInitParameter("profile");//从web.xml中读取初始化参数中的log4j配置文件的位置

                   StringwebappPath=getServletContext().getRealPath("");

                   System.setProperty("webappHome",webappPath);

                   if(file!=null){

                            PropertyConfigurator.configure(prefix+file);//读取Log4j配置文件,配置Log4j环境

                   }

         }

}

4.配置web.xml文件,配置Log4jInit.java的servlet

         <servlet>

                   <servlet-name>Log4jInit</servlet-name>

                   <servlet-class>com.cn.Log4jInit</servlet-class>

                   <init-param>

                            <param-name>profile</param-name>

                            <param-value>WEB-INF/classes/log4j.properties</param-value>

                   </init-param>

                   <load-on-startup>1</load-on-startup>

         </servlet>

         <servlet-mapping>

                   <servlet-name>Log4jInit</servlet-name>

                   <url-pattern>/Log4jInit</url-pattern>

         </servlet-mapping>

5、在index.jsp中加入如下代码

import org.apache.log4j.Logger;

importorg.apache.log4j.PropertyConfigurator;

 

<%

         Loggerlog = Logger.getLogger(this.getClass());

         //实例Log4j,this.getClass()代表当前你自己的类,在当前类中写入日志             

         log.debug("hxy");

%>

6、运行,可以看到控制台会打印出相应的日志信息“hxy”。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值