Log4j的web配置和使用(二)

来源:互联网 发布:csgo启动优化参数 编辑:程序博客网 时间:2024/06/03 16:06

Log4jweb配置和使用

       运行环境是MyEclipse+Tomcat,如果开发应用程序,可以将log4j.properties文件直接放在工程目录下,但是在WEB开发中也这样,会出现找不到log4j.properties文件的错误。所以在WEB开发中使用log4j的步骤为:

1、  log4j.jar文件拷贝到webroot下的WEN-INF中的lib里,这样MyEclipse会自动将文件显示在引用包里。

2、  web.xml配置文件中增加如下代码

    <servlet>

    <servlet-name>log4j</servlet-name>

    <servlet-class>com.xyliuke.Log4jInit</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-class>标签对中是初始化java类的路径,<param-value>标签对中为log4j.properties的路径。

3、  建立初始化java

类名为Log4jInit的代码为:

package com.xyliuke;

import org.apache.log4j.PropertyConfigurator;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class Log4jInit extends HttpServlet {

public void init() {

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

        String file = getInitParameter("log4j");

        System.out.println("................log4j start");

        if (file != null) {

               PropertyConfigurator.configure(prefix + file);

        }

}

public void doGet(HttpServletRequest req, HttpServletResponse res) {

}

}

Tomcat服务启动时,会去加载这个类

4、  测试

建两个jsp文件,我用的是struts2框架,所以在action中写入

Logger logger = Logger.getLogger(当前类名);

即可使用log4j的日志管理了。

在log4j.properties中的指定的日志文件会默认在tomcat的lib文件夹下输出,所以想要改变文件的输出路径,只需在log4j.properties中的log4j.appender.A2.File=..\\webapps\\StuManage\\log\\stu.log设置即可。

0 0
原创粉丝点击