首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

log4j 小弟我在log配置文件,提示SetFile异常

2012-01-14 
log4j 我在log配置文件,提示SetFile错误。这个是log4jconf.cfg文件。log4j.rootLoggerinfo,stdoutlog4j.app

log4j 我在log配置文件,提示SetFile错误。
这个是log4jconf.cfg文件。
log4j.rootLogger=info,   stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

#   Pattern   to   output   the   caller 's   file   name   and   line   number.
log4j.appender.stdout.layout.ConversionPattern=%5p   [%t]   (%F:%L)   -   %m%n

log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=./logs/snmpMgrLog

log4j.appender.R2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R2.File=./logs/hdmsUserLog

log4j.appender.R3=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R3.File=./logs/AlarmLog

log4j.appender.R4=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R4.File=./logs/unSolved


log4j.appender.R5=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R5.File=./logs/snoop


log4j.appender.R.DatePattern= '. 'yyyy-MM-dd
log4j.appender.R2.DatePattern= '. 'yyyy-MM-dd
log4j.appender.R3.DatePattern= '. 'yyyy-MM-dd
log4j.appender.R4.DatePattern= '. 'yyyy-MM-dd
#log4j.appender.R5.DatePattern= '. 'yyyy-MM-dd

log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R2.layout=org.apache.log4j.PatternLayout
log4j.appender.R3.layout=org.apache.log4j.PatternLayout
log4j.appender.R4.layout=org.apache.log4j.PatternLayout
log4j.appender.R5.layout=org.apache.log4j.PatternLayout

log4j.appender.R.layout.ConversionPattern=%d   %p   %t   %c   -   %m%n
log4j.appender.R2.layout.ConversionPattern=%d   -   %m%n
log4j.appender.R3.layout.ConversionPattern=%m%n
log4j.appender.R4.layout.ConversionPattern=%m%n
log4j.appender.R5.layout.ConversionPattern=%m%n

#   Print   only   messages   of   level   WARN   or   above   in   the   package   com.foo.
log4j.logger.cn.com.pbi.netmgr.local.content=info,   R
log4j.logger.cn.com.pbi.netmgr.local.resource=info,   R
log4j.logger.cn.com.pbi.netmgr.local.etc   =   info,   R2
log4j.logger.cn.com.pbi.netmgr.alarm.logging.saver.LogOutput     =   info,   R3
log4j.logger.cn.com.pbi.netmgr.web.morning.resource.MenuMgrBean   =info,   R5
log4j.logger.cn.com.pbi.netmgr.alarm.logging.saver.UnSolvedEventSaver     =   info,   stdout,R4


我启动服务器时,报错,我在   WEB-Inf下放置一个log文件夹,log4j应该是在配置时,自动生成一个snoop文件,但是他怎么说是空的呢.setFile(null,true)两个参数是什么意义呢,我启动的时候没有调用cn.com.pbi.netmgr.web.morning.resource.MenuMgrBean里的东西.开始setFile的东西肯定是为空的.可是我就是找不出什么问题.大虾救命啊
log4j:ERROR   setFile(null,true)   call   failed.
java.io.FileNotFoundException:   .\logs\snoop   (系统找不到指定的路径。)
at   java.io.FileOutputStream.openAppend(Native   Method)
at   java.io.FileOutputStream. <init> (Unknown   Source)
at   java.io.FileOutputStream. <init> (Unknown   Source)
at   org.apache.log4j.FileAppender.setFile(FileAppender.java:273)
at   org.apache.log4j.FileAppender.activateOptions(FileAppender.java:152)
at   org.apache.log4j.DailyRollingFileAppender.activateOptions(DailyRollingFileAppender.java:206)
at   org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:247)
at   org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:123)
at   org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:87)
at   org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:645)
at   org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:603)


at   org.apache.log4j.PropertyConfigurator.parseCatsAndRenderers(PropertyConfigurator.java:524)
at   org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:408)
at   org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:307)
at   org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.java:315)
at   cn.com.pbi.netmgr.local.SnmpManager.initLogger(SnmpManager.java:87)
at   cn.com.pbi.netmgr.web.morning.MainContextListener.contextInitialized(MainContextListener.java:45)
at   org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3729)
at   org.apache.catalina.core.StandardContext.start(StandardContext.java:4187)
at   org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at   org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at   org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at   org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at   org.apache.catalina.core.StandardService.start(StandardService.java:450)
at   org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
at   org.apache.catalina.startup.Catalina.start(Catalina.java:551)
at   sun.reflect.NativeMethodAccessorImpl.invoke0(Native   Method)
at   sun.reflect.NativeMethodAccessorImpl.invoke(Unknown   Source)
at   sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown   Source)
at   java.lang.reflect.Method.invoke(Unknown   Source)
at   org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
at   org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
log4j:ERROR   Either   File   or   DatePattern   options   are   not   set   for   appender   [R5].

[解决办法]
用绝对路径,如果是相对路径的话需要在前面定义。
[解决办法]
java.io.FileNotFoundException: .\logs\snoop (系统找不到指定的路径。)
[解决办法]
定义一个path属性
[解决办法]
./logs/snoop
这样写应该首先到工程目录下去找,因为你工程目录下没有这个文件夹,所以就找不到了。
你把它改成:./WEB-INF/logs/snoop试试

热点排行
Bad Request.