log4j配置文件

来源:互联网 发布:手机淘宝页面怎么刷新 编辑:程序博客网 时间:2024/04/27 21:25

一:日志消息级别

日志消息从高到低的六个级别: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"/>



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ybyb14/archive/2008/06/10/2533385.aspx

原创粉丝点击