首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

[转]Spring中配备log4j

2012-10-08 
[转]Spring中配置log4j?1.web.xml中的配置!--如果不定义webAppRootKey参数,那么webAppRootKey就是缺省的

[转]Spring中配置log4j

?

1.web.xml中的配置

<!--如果不定义webAppRootKey参数,那么webAppRootKey就是缺省的"webapp.root"-->?

<context-param>?

??<param-name>webAppRootKey</param-name>?

??<param-value>ssh.root</param-value>?

</context-param>?

?

这里的ssh是http://localhost:8080/ssh/?

?

而root是系统开发目录中ssh/root?

?

这样配置文件以及日志文件可以在spring的帮助下,放到开发环境中的任意位置?

?

<!--由Sprng载入的Log4j配置文件位置-->?

<context-param>?

??<param-name>log4jConfigLocation</param-name>?

??<param-value>/WEB-INF/log4j.properties</param-value>?

</context-param>?

?

在这里定位配置文件,需要的是从root开始的绝对路径?

?

<!--Spring默认刷新Log4j配置文件的间隔,单位为millisecond-->?

<context-param>?

??<param-name>log4jRefreshInterval</param-name>?

??<param-value>60000</param-value>?

</context-param>?

?

<!--Spring log4j Config loader-->?

<listener>?

??<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>?

</listener>?

?

设置监听器?

?

?

2.配置log4j的properties文件?

?

#先设置级别?

log4j.rootCategory=INFO, file?

log4j.appender.file=org.apache.log4j.RollingFileAppender?

#在这里设置日志需要存放的位置,这里的变量就是我们在web.xml里设置的?

log4j.appender.file.File=${ssh.root}/WEB-INF/logs/subject.log?

log4j.appender.file.MaxFileSize=100KB?

log4j.appender.file.MaxBackupIndex=0?

log4j.appender.file.layout=org.apache.log4j.SimpleLayout?

log4j.appender.file.layout.ConversionPattern=[ssh] %p %t %c - %m%n?

?

有了上面的配置,我们就可以查看日志了!?

?

?

3.在程序中想要输出log的地方加入log4j的支持?

?

  (1)引入 import org.apache.log4j.Logger?

?

  (2)声明一个logger?

?

  private static Logger logger = Logger.getLogger(ClassName.class);?

?

  (3)在程序中的相应位置加入输出信息?

?

  logger.info("用户登录:"+user.getAccount());?

?

  ok,完成了,当有登录时会在控制台和文件中同时输出log信息如下?

?

  2007-01-10 16:02:54 [com.my.web.UserAction]-[INFO] 用户登录:yangsq?

?

?

  附注:?

?

  以下是配置文件(log4j.properties)的一些重要的语法?

?

  定义配置文件?

?

  其实您也可以完全不使用配置文件,而是在代码中配置Log4j环境。但是,使用配置文件将使您的应用程序更加灵活。?

?

  Log4j支持两种配置文件格式,一种是XML格式的文件,一种是Java特性文件(键=值)。下面我们介绍使用Java特性文件做为配置文件的方法:?

?

  配置根Logger,其语法为:?

?

  log4j.rootLogger = [ level ] , appenderName, appenderName, …?

?

  其中,level 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。?

?

  appenderName就是指定日志信息输出到哪个地方。您可以同时指定多个输出目的地。?

?

  配置日志信息输出目的地Appender,其语法为?

?

  log4j.appender.appenderName = fully.qualified.name.of.appender.class   log4j.appender.appenderName.option1 = value1   …   log4j.appender.appenderName.option = valueN?

?

  其中,Log4j提供的appender有以下几种:?

?

  org.apache.log4j.ConsoleAppender(控制台),?

?

  org.apache.log4j.FileAppender(文件),?

?

  org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),?

?

  org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)?

?

  配置日志信息的格式(布局),其语法为:?

log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class   log4j.appender.appenderName.layout.option1 = value1     log4j.appender.appenderName.layout.option = valueN?

?

?

?

  其中,Log4j提供的layout有以下几种:?

?

  org.apache.log4j.HTMLLayout(以HTML表格形式布局),?

?

  org.apache.log4j.PatternLayout(可以灵活地指定布局模式),?

?

  org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),?

?

  org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

热点排行