log4j.xml 日志配置 很简单 【转自 月涯网络技术论坛】

【转自 月涯网络技术论坛】

 

用的struts的框架:
先看看web.xml文件配置:

复制代码
  1.  <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns="[url=http://java.sun.com/xml/ns/j2ee]http://java.sun.com/xml/ns/j2ee[/url]" xmlns:xsi="[url=http://www.w3.org/2001/XMLSchema-instance]http://www.w3.org/2001/XMLSchema-instance[/url]" version="2.4" xsi:schemaLocation="[url=http://java.sun.com/xml/ns/j2ee]http://java.sun.com/xml/ns/j2ee[/url]   [url=http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd]http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd[/url]">
  3.   <!-- Spring 的配置 不用spring这一块可以去掉-->
  4.   <context-param>
  5.     <param-name>contextConfigLocation</param-name>
  6.     <param-value>/WEB-INF/applicationContext.xml</param-value>
  7.   </context-param>
  8.   <servlet>
  9.     <servlet-name>context</servlet-name>
  10.     <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
  11.     <load-on-startup>1</load-on-startup>
  12.   </servlet>
  13.  
  14.   <!-- struts 配置 ExtendedActionServlet这个action继承了struts的ActionServlet-->
  15.   <servlet>
  16.     <servlet-name>action</servlet-name>
  17.     <servlet-class>yongkang.qiyk.mylove.app.action.ExtendedActionServlet</servlet-class>
  18.     <init-param>
  19.       <param-name>config</param-name>
  20.       <param-value>/WEB-INF/struts-config.xml</param-value>
  21.     </init-param>
  22. <!-- 这儿配置日志 name是log4j,在action中会接受这个参数-->
  23.     <init-param>
  24.     <param-name>log4j</param-name>
  25.     <param-value>/WEB-INF/log4j.xml</param-value>
  26.    </init-param>
  27.     <init-param>
  28.       <param-name>debug</param-name>
  29.       <param-value>3</param-value>
  30.     </init-param>
  31.     <init-param>
  32.       <param-name>detail</param-name>
  33.       <param-value>3</param-value>
  34.     </init-param>
  35.     <load-on-startup>0</load-on-startup>
  36.   </servlet>
  37.  
  38.   <servlet-mapping>
  39.     <servlet-name>action</servlet-name>
  40.     <url-pattern>*.do</url-pattern>
  41.   </servlet-mapping>
  42.  
  43.   <welcome-file-list>
  44.     <welcome-file>index.jsp</welcome-file>
  45.   </welcome-file-list>
  46. </web-app>



然后就是log4j.xml文件:

复制代码
  1.  <?xml version="1.0" encoding="GB2312"?>
  2. <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd" > <!-- 这个log4j.dtd来解析xml文件,可能会出现找不到他的情况,可以再log4j的jar包中找到他,也可以去下载个-->
  3. <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" threshold="null" debug="null">
  4.  <appender name="ALL" class="org.apache.log4j.FileAppender">
  5.   <param name="file" value="D:/mylog/my_all.log" />
  6.   <param name="append" value="false" />
  7.   <param name="encoding" value="UTF-8" />
  8.   <layout class="org.apache.log4j.PatternLayout">
  9.    <param name="ConversionPattern" value="%d %-5p %c{2} - %m%n" />
  10.   </layout>
  11.  </appender>
  12.  <logger name="yongkang.qiyk.mylove.app" additivity="false">
  13.   <level value="TRACE" />
  14.   <appender-ref ref="ALL" />
  15.  </logger>
  16.  <root>
  17.   <level value="DEBUG" />
  18.   <appender-ref ref="ALL" />
  19.  </root>
  20. </log4j:configuration>
  21. 其他就不多解释了,可以上网查下这些标签的意思



下面是我的action类:

复制代码
  1. package yongkang.qiyk.mylove.app.action;
  2. import javax.servlet.ServletException;
  3. import org.apache.commons.logging.Log;
  4. import org.apache.commons.logging.LogFactory;
  5. import org.apache.log4j.xml.DOMConfigurator;
  6. import org.apache.struts.action.ActionServlet;
  7. /**
  8.  *
  9.  * @author yongkang.qiyk
  10.  *日志action
  11.  */
  12. public class ExtendedActionServlet  extends ActionServlet{
  13.  private static final long serialVersionUID = 1L;
  14.  private  final Log log = LogFactory.getLog(this.getClass());
  15.  public void init() throws ServletException {
  16.   log.info("初始化日志信息...");
  17.   System.out.println("初始化日志信息...");
  18.   //读取项目路径
  19.   String prefix = this.getServletConfig().getServletContext().getRealPath("/");
  20.   //读取日志配置文件路径
  21.   String file = this.getServletConfig().getInitParameter("log4j");
  22.   
  23.   String filePath = prefix+file;
  24.   
  25.   //加载xml文件
  26.   DOMConfigurator.configure(filePath);
  27.   
  28.   log.info("日志初始化完毕...");
  29.   super.init();
  30.  }
  31. }



配置就这么简单,不知道的话其实也很麻烦

你可能感兴趣的:(apache,xml,log4j,servlet,struts)