Log4j配置
所需文件:1、jar包 : commons-logging.jar 、log4j-1.2.8.jar 、taglibs-log.jar
2、配置文件:commons-logging.properties 、log4j.properties
3、标签文件:taglibs-log.tag
commons-logging.properties文件内容:
##set Log as Log4J
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JCategoryLog
## set Log as SimpleLog
#org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog
log4j.properties文件内容:
#ConversionPattern参数的格式含义
#格式名 含义
#%c 输出日志信息所属的类的全名
#%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy-MM-dd HH:mm:ss },输出类似:2002-10-18- 22:10:28
#%f 输出日志信息所属的类的类名
#%l 输出日志事件的发生位置,即输出日志信息的语句处于它所在的类的第几行
#%m 输出代码中指定的信息,如log(message)中的message
#%n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”
#%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL。如果是调用debug()输出的,则为DEBUG,依此类推
#%r 输出自应用启动到输出该日志信息所耗费的毫秒数
#%t 输出产生该日志事件的线程名
## LOGGERS ##
#define a logger named helloAppLogger
log4j.rootLogger=info,console,file
## APPENDERS ##
# define an appender named console, which is set to be a ConsoleAppender
log4j.appender.console=org.apache.log4j.ConsoleAppender
# define an appender named file, which is set to be a RollingFileAppender
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=dada.txt
## LAYOUTS ##
# assign a SimpleLayout to console appender
log4j.appender.console.layout=org.apache.log4j.SimpleLayout
# assign a PatternLayout to file appender
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd hh:mm:ss} [%c]:%p -%c- %m%n新建log4j配置文件载入servlet类:
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import org.apache.log4j.PropertyConfigurator;
public class Log4j extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK";
//Initialize global variables
public void init() throws ServletException {
String prefix = this.getServletContext().getRealPath("/");
String file = this.getInitParameter("log4j");
System.out.println("载入log4j配置文件"+prefix+file);
if(file!=null){
PropertyConfigurator.configure(prefix+file);
}
}
//Clean up resources
public void destroy() {
}
}
web.xml文件:import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import org.apache.log4j.PropertyConfigurator;
public class Log4j extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK";
//Initialize global variables
public void init() throws ServletException {
String prefix = this.getServletContext().getRealPath("/");
String file = this.getInitParameter("log4j");
System.out.println("载入log4j配置文件"+prefix+file);
if(file!=null){
PropertyConfigurator.configure(prefix+file);
}
}
//Clean up resources
public void destroy() {
}
}
<servlet>
<servlet-name>log4j</servlet-name>
<servlet-class>derek.log4j.Log4j</servlet-class>
<init-param>
<param-name>log4j</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>log4j</servlet-name>
<url-pattern>/log4j</url-pattern>
</servlet-mapping>
测试代码:<servlet-name>log4j</servlet-name>
<servlet-class>derek.log4j.Log4j</servlet-class>
<init-param>
<param-name>log4j</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>log4j</servlet-name>
<url-pattern>/log4j</url-pattern>
</servlet-mapping>
import org.apache.log4j.Logger;
public class Log4jTest {
public Log4jTest() {
Logger log = Logger.getLogger(this.getClass().getName());
log.info("log4jDemo");
}
public static void main(String[] args) {
Log4jTest log4jtest = new Log4jTest();
}
}
public class Log4jTest {
public Log4jTest() {
Logger log = Logger.getLogger(this.getClass().getName());
log.info("log4jDemo");
}
public static void main(String[] args) {
Log4jTest log4jtest = new Log4jTest();
}
}

被折叠的 条评论
为什么被折叠?



