log4j配置文件
2008-06-10 20:40
197 查看
一:日志消息级别
日志消息从高到低的六个级别:FATAL,ERROR,WARN,INFO,DEBUG,TRACE
只有大于或等于日志器配置的日志级别时,这个方法才会执行!如日志级别为INFO,则FATAL,ERROR,WARN,INFO会被执行,而DEBUG,TRACE级别不会执行!
二:指定日志器
在本例中使用的是Log4j日志器,在项目的src目录下新建commons-logging.properties文件,用于指定日志器
commons-logging.properties文件中的内容为:
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
三:配置Log4j
在项目的src目录下新建log4j.properties文件,用于配置日志器
首先配置rootLogger组件
log4j.rootLogger=[priority],appenderName,appenderName
其中priority表示日志级别,可选值包括OFF,FATAL,EROR,WARN,INFO,DEBUG,TRACE,ALL
appenderName表示Appender组件,用户可以同时指定多个appender例如
log4j.rootLogger=INFO,console,file
配置appender组件
log4j提供的控制台有以下几种:
org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
org.apache.log4j.WriterAppender(将日志消息以流格式发送到任意指定的地方)
例如:
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=myLog.txt //用于指定输出的文件名:存放在Tomcat的bin目录下
在上例中指定的是控制台输出和文本两个组件,console和file对应的是log4j.rootLogger=INFO,console,file中的console,file
配置Layout组件
定义日志的输出格式,log4j提供的Layout有以下几种:
org.apache.log4j.HTMLLayout(以Html表格形式布局)
org.apache.log4j.PatternLayout(可灵活指定布局模式)
org.apache.log4j.SimpleLayout(包含日志消息的级别和信息字符串) //常用
org.apache.log4j.TTCCLayout(包含日志产生的时间,线程和类别信息)
例如:
log4j.appender.console=org.apache.log4j.SimpleLayout
log4j.appender.file=org.apache.log4j.SimpleLayout
四:在Struts中使用log4j
1,通过import 引入loggin API
import org.apache.commons.logging.Log
import org.apache.commons.logging.LogFactory
2,使用LogFactory类的静态方法getLog(),获得一个Log类的实例
Log log= LogFactory.getLog("hello");
3,调用Log类的输出日志方法
log.trace("This is a trace message");
log.debug("This is a debug message");
log.info("This is an info message");
log.warn("This is a warn message");
log.error("This is an error message");
log.fatal("This is a fatal message");
4,使用Log标签库
apache提供了一个客户化的Log标签库,通过它可以在jsp文件中直接使用log4j,而无需编写代码
从apache网站上下载jakara-taglibs-log-current.zip文件,解压,把taglibs-log.tld文件复制到WEB-INF目录下,并把taglibs-log.jar文件复制到WEB-INF/lib目录下
在JSP文件中访问Log标签库
<%@ taglib uri="/WEB-INF/taglibs-log.tld" prefix="log"%>
<log:debug message ="this is a debug message">
<log:info message ="this is a debug message">
Log标签库中还有一个<log:dump>标签,它能输出特定范围内的所有对象的信息,
使用方法如下:
<%
request.setAttribute("stringInRequestScope","This is a string in request scope");
session.setAttribute("stringInSessionScope","This is a string in session scope");
%>
--------dump objects in page scope----------
<log:dump scope="page"/>
--------dump objects in request scope----------
<log:dump scope="request"/>
--------dump objects in session scope----------
<log:dump scope="session"/>
--------dump objects in application scope----------
<log:dump scope="application"/>
日志消息从高到低的六个级别:FATAL,ERROR,WARN,INFO,DEBUG,TRACE
只有大于或等于日志器配置的日志级别时,这个方法才会执行!如日志级别为INFO,则FATAL,ERROR,WARN,INFO会被执行,而DEBUG,TRACE级别不会执行!
二:指定日志器
在本例中使用的是Log4j日志器,在项目的src目录下新建commons-logging.properties文件,用于指定日志器
commons-logging.properties文件中的内容为:
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
三:配置Log4j
在项目的src目录下新建log4j.properties文件,用于配置日志器
首先配置rootLogger组件
log4j.rootLogger=[priority],appenderName,appenderName
其中priority表示日志级别,可选值包括OFF,FATAL,EROR,WARN,INFO,DEBUG,TRACE,ALL
appenderName表示Appender组件,用户可以同时指定多个appender例如
log4j.rootLogger=INFO,console,file
配置appender组件
log4j提供的控制台有以下几种:
org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
org.apache.log4j.WriterAppender(将日志消息以流格式发送到任意指定的地方)
例如:
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=myLog.txt //用于指定输出的文件名:存放在Tomcat的bin目录下
在上例中指定的是控制台输出和文本两个组件,console和file对应的是log4j.rootLogger=INFO,console,file中的console,file
配置Layout组件
定义日志的输出格式,log4j提供的Layout有以下几种:
org.apache.log4j.HTMLLayout(以Html表格形式布局)
org.apache.log4j.PatternLayout(可灵活指定布局模式)
org.apache.log4j.SimpleLayout(包含日志消息的级别和信息字符串) //常用
org.apache.log4j.TTCCLayout(包含日志产生的时间,线程和类别信息)
例如:
log4j.appender.console=org.apache.log4j.SimpleLayout
log4j.appender.file=org.apache.log4j.SimpleLayout
四:在Struts中使用log4j
1,通过import 引入loggin API
import org.apache.commons.logging.Log
import org.apache.commons.logging.LogFactory
2,使用LogFactory类的静态方法getLog(),获得一个Log类的实例
Log log= LogFactory.getLog("hello");
3,调用Log类的输出日志方法
log.trace("This is a trace message");
log.debug("This is a debug message");
log.info("This is an info message");
log.warn("This is a warn message");
log.error("This is an error message");
log.fatal("This is a fatal message");
4,使用Log标签库
apache提供了一个客户化的Log标签库,通过它可以在jsp文件中直接使用log4j,而无需编写代码
从apache网站上下载jakara-taglibs-log-current.zip文件,解压,把taglibs-log.tld文件复制到WEB-INF目录下,并把taglibs-log.jar文件复制到WEB-INF/lib目录下
在JSP文件中访问Log标签库
<%@ taglib uri="/WEB-INF/taglibs-log.tld" prefix="log"%>
<log:debug message ="this is a debug message">
<log:info message ="this is a debug message">
Log标签库中还有一个<log:dump>标签,它能输出特定范围内的所有对象的信息,
使用方法如下:
<%
request.setAttribute("stringInRequestScope","This is a string in request scope");
session.setAttribute("stringInSessionScope","This is a string in session scope");
%>
--------dump objects in page scope----------
<log:dump scope="page"/>
--------dump objects in request scope----------
<log:dump scope="request"/>
--------dump objects in session scope----------
<log:dump scope="session"/>
--------dump objects in application scope----------
<log:dump scope="application"/>
相关文章推荐
- log4j.properties配置文件
- log4j 配置文件
- log4j中配置日志文件相对路径方法分析
- 一个比较全的的log4j配置文件(log4j.properties)
- Log4j日志文件常用配置
- log4j 日志文件存储数据库的解决方案一(配置文件中写sql语句)
- log4j配置文件位置详解
- 修改配置原生log4j,使得指定的类文件输出到指定的文件中(非Spring框架)
- Log4j2的日志配置文件,log4j2.xml文件的配置(实现控制台输出,各级别分别文件输出,自动压缩等)
- log4j输出源|log4j配置文件
- Log4j日志的使用及配置文件(lp)
- log4j配置文件的三个主要的组件
- java应用程序自定义log4j配置文件位置
- Bundle中的资源的访问(如配置Log4j,读取自定义配置文件等)
- log4j日志配置文件及将日志根据不同的等级输入到不同的文件之中
- log4j日志配置文件及将日志根据不同的等级输入到不同的文件之中
- java:log4j学习(3)-转帖:Log4J 最佳实践之全能配置文件
- log4j中配置日志文件相对路径方法
- log4j配置文件位置详解
- log4j的配置文件讲解