您的位置:首页 > 其它

使用XML文件配置Log4j的方法

2009-08-29 11:28 246 查看
用来加载xml配置文件的servlet源程序
package com.test;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class InitLogj4jXmlConfig extends HttpServlet {
private static final long serialVersionUID = 5553391344677927072L;
public InitLogj4jXmlConfig() {
super();
}
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
public void init() throws ServletException {
String prefix = getServletContext().getRealPath("/");
String file = getInitParameter("log4jxmlconfig");
org.apache.log4j.xml.DOMConfigurator.configureAndWatch(prefix+file);
}
}
在web.xml文件中的设置
<servlet>
<description>Log4j Xml Config File Init</description>
<display-name>Log4j Xml Config File Init</display-name>
<servlet-name>InitLogj4jXmlConfig</servlet-name>
<servlet-class>com.test.InitLogj4jXmlConfig</servlet-class>
<init-param>
<param-name>log4jxmlconfig</param-name>
<param-value>/WEB-INF/log4j.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
其中的/web-inf/log4j.xml就是用来存放log4j配置内容的xml文件
log4j.xml文件中的内容
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration>
<appender name="DailyRollingFile" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="f:/log/log4j.log" />
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{DATE} [%-5p] %c {%F:%L} - %m%n" />
</layout>
</appender>
<appender name="RollingFile" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="f:/log/log4j.log" />
<param name="MaxFileSize" value="500KB" />
<param name="MaxBackupIndex" value="1" />
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{DATE} [%-5p] %c {%F:%L} - %m%n" />
</layout>
</appender>
<appender name="stdout" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<!-- <param name="ConversionPattern" value="%d [%t] %p - %m%n" /> -->
<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}:%L] %m%n" />
</layout>
</appender>

<category name="com.test" additivity="false">
<priority value="DEBUG" />
<appender-ref ref="stdout" />
</category>
<category name="org.apache.struts" additivity="false">
<priority value="ERROR" />
<appender-ref ref="stdout" />
</category>
<root>
<level value="off" />
<appender-ref ref="stdout" />
<appender-ref ref="RollingFile" />
</root>
</log4j:configuration>
以上配置为org.apache.struts包只输出错误内容,com.test中输入debug及以上的内容。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: