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
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
#格式名 含义
# % 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();
}
}