posts - 0,  comments - 0,  trackbacks - 0
           

            1.導(dǎo)入包

            2.WEB-INF目錄下添加一個(gè)配置文件log4j.properties

            log4j.rootLogger=DEBUG,A1,A2

            # 輸出到控制臺(tái)

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

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

            log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} ["u4fe1"u606f] %m%n

            # 輸出到日志文件

            log4j.appender.A2=org.apache.log4j.FileAppender

            log4j.appender.A2.File=${catalina.home}/webapps/test_log4j/logging.log

            log4j.appender.A2.Append=true

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

            log4j.appender.A2.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} ["u4fe1"u606f] %m%n

            3.JSP中應(yīng)用Log4j

            <%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>

            <%@ page import="org.apache.log4j.*" %>

            <html>

             <head>

                <title>Test Log4j</title>

             </head>

             <body>

               Test Log4j <br>

               <hr>

               <%

               //載入配置文件

                       PropertyConfigurator.configure(request.getRealPath("WEB-INF/log4j.properties"));

               //取得日志記錄器

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

                       logger.fatal("這是一條從index.jsp產(chǎn)生的fatal信息!");

            logger.error("這是一條從index.jsp產(chǎn)生的error信息!");

            logger.warn("這是一條從index.jsp產(chǎn)生的warn信息!");

            logger.debug("這是一條從index.jsp產(chǎn)生的debug信息!");

            logger.info("這是一條從index.jsp產(chǎn)生的info信息!");

               %>

             </body>

            </html>

            -----------------------

            Log4jServlet中的應(yīng)用

            package com.yzk.servlet;

            import java.io.IOException;

            import java.io.PrintWriter;

            import javax.servlet.ServletException;

            import javax.servlet.http.HttpServlet;

            import javax.servlet.http.HttpServletRequest;

            import javax.servlet.http.HttpServletResponse;

            import org.apache.log4j.*;

            public class TestLog4j extends HttpServlet {

            Logger logger = null;

            public void doGet(HttpServletRequest request, HttpServletResponse response)

            throws ServletException, IOException {

            response.setContentType("text/html");

            response.setCharacterEncoding("GB18030");

                       logger.fatal("這是一條從 TestLog4j 產(chǎn)生的fatal信息!");

            logger.error("這是一條從 TestLog4j 產(chǎn)生的error信息!");

            logger.warn("這是一條從 TestLog4j 產(chǎn)生的warn信息!");

            logger.debug("這是一條從 TestLog4j 產(chǎn)生的debug信息!");

            logger.info("這是一條從 TestLog4j 產(chǎn)生的info信息!");

            }

            public void doPost(HttpServletRequest request, HttpServletResponse response)

            throws ServletException, IOException {

            this.doGet(request, response);

            }

            public void init() throws ServletException {

            PropertyConfigurator.configure(this.getServletContext().getRealPath("WEB-INF/log4j.properties"));

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

            }

            }

            WEB.XML中的配置

             <servlet>

                <servlet-name>TestLog4j</servlet-name>

                <servlet-class>com.yzk.servlet.TestLog4j</servlet-class>

             </servlet>

             <servlet-mapping>

                <servlet-name>TestLog4j</servlet-name>

                <url-pattern>/servlet/TestLog4j</url-pattern>

             </servlet-mapping>

            ---------------------------------------

            修改成在Tomcat啟動(dòng)時(shí)自啟動(dòng)日志

            新建一個(gè)Servlet來專門做初始化的工作

            import java.io.IOException;

            import java.io.PrintWriter;

            import javax.servlet.ServletException;

            import javax.servlet.http.HttpServlet;

            import javax.servlet.http.HttpServletRequest;

            import javax.servlet.http.HttpServletResponse;

            import org.apache.log4j.*;

            public class InitLog4j extends HttpServlet {

            public void destroy() {

            super.destroy(); // Just puts "destroy" string in log

            }

            public void doGet(HttpServletRequest request, HttpServletResponse response)

            throws ServletException, IOException {

            }

            public void init() throws ServletException {

            String basePath = getServletContext().getRealPath("/");

            String confFile = getInitParameter("log4j");

            if (confFile!=null){

            PropertyConfigurator.configure(basePath+confFile);

            }else{

            System.out.println("指定的Log4j配置文件不存在,將影響應(yīng)用中的日志記錄輸出!");

            }

            }

            }

            web.xml中的修改配置

             <servlet>

                <servlet-name>TestServlet</servlet-name>

                <servlet-class>TestServlet</servlet-class>

             </servlet>

             <servlet>

                <servlet-name>InitLog4j</servlet-name>

                <servlet-class>InitLog4j</servlet-class>

                <init-param>

                        <param-name>log4j</param-name>

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

                </init-param>

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

             </servlet>

             <servlet-mapping>

                <servlet-name>TestServlet</servlet-name>

                <url-pattern>/TestServlet</url-pattern>

             </servlet-mapping>

             <servlet-mapping>

                <servlet-name>InitLog4j</servlet-name>

                <url-pattern>/InitLog4j</url-pattern>

             </servlet-mapping>

            package com.yzk.servlet;

            import java.io.IOException;

            import java.io.PrintWriter;

            import javax.servlet.ServletException;

            import javax.servlet.http.HttpServlet;

            import javax.servlet.http.HttpServletRequest;

            import javax.servlet.http.HttpServletResponse;

            import org.apache.log4j.*;

            public class TestLog4j extends HttpServlet {

            Logger logger = null;

            public void doGet(HttpServletRequest request, HttpServletResponse response)

            throws ServletException, IOException {

            response.setContentType("text/html");

            response.setCharacterEncoding("GB18030");

                       logger.fatal("這是一條從 TestLog4j 產(chǎn)生的fatal信息!");

            logger.error("這是一條從 TestLog4j 產(chǎn)生的error信息!");

            logger.warn("這是一條從 TestLog4j 產(chǎn)生的warn信息!");

            logger.debug("這是一條從 TestLog4j 產(chǎn)生的debug信息!");

            logger.info("這是一條從 TestLog4j 產(chǎn)生的info信息!");

            }

            public void doPost(HttpServletRequest request, HttpServletResponse response)

            throws ServletException, IOException {

            this.doGet(request, response);

            }

            public void init() throws ServletException {

            //PropertyConfigurator.configure(this.getServletContext().getRealPath("WEB-INF/log4j.properties"));

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

            }

            }

          posted on 2008-12-28 13:09 游上岸的魚 閱讀(197) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           

          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          留言簿

          文章檔案

          搜索

          •  

          最新評(píng)論

          主站蜘蛛池模板: 宜川县| 重庆市| 博白县| 平顶山市| 大厂| 松原市| 友谊县| 库尔勒市| 苍南县| 安多县| 涿鹿县| 定南县| 庆阳市| 庆元县| 荥经县| 定西市| 芦山县| 改则县| 忻州市| 翼城县| 青州市| 曲阜市| 卢氏县| 龙游县| 牡丹江市| 盘山县| 高清| 张掖市| 扶绥县| 新昌县| 尚志市| 彭阳县| 武胜县| 灯塔市| 温宿县| 紫云| 廉江市| 怀柔区| 高阳县| 靖西县| 水城县|