error-关于log4j:ERROR setFile(null,true) call failed.

问题描述

关于log4j:ERROR setFile(null,true) call failed.

在myeclipse中从外部导入了一个web项目:

已经将log4j.properties中的日志输出路径修改为绝对路径,并且在此绝对路径中找到该日志文件,但是在运行中,始终去找“ homecallcenterlogscsrlogs”这个路径?这是哪里出了问题,求高手解答!!
错误信息如下:
log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: homecallcenterlogscsrlogsjECF_2015-04-09.log (系统找不到指定的路径。)
at java.io.FileOutputStream.openAppend(Native Method)
at java.io.FileOutputStream.(FileOutputStream.java:177)
at java.io.FileOutputStream.(FileOutputStream.java:102)
at org.apache.log4j.FileAppender.setFile(FileAppender.java:282)
at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:161)
at enterprise.celerity.ac.util.IContactLogAppender.activateOptions(IContactLogAppender.java:44)
at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:256)
at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:132)
at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:96)
at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:654)
at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:612)
at org.apache.log4j.PropertyConfigurator.parseCatsAndRenderers(PropertyConfigurator.java:533)
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:417)
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:441)
at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:468)
at org.apache.log4j.LogManager.(LogManager.java:122)
at org.apache.log4j.Logger.getLogger(Logger.java:103)
at org.apache.commons.logging.impl.Log4JLogger.getLogger(Log4JLogger.java:283)
at org.apache.commons.logging.impl.Log4JLogger.(Log4JLogger.java:108)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.apache.commons.logging.impl.LogFactoryImpl.createLogFromClass(LogFactoryImpl.java:1116)
at org.apache.commons.logging.impl.LogFactoryImpl.discoverLogImplementation(LogFactoryImpl.java:914)
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:604)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:336)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:704)
at org.apache.catalina.core.ContainerBase.getLogger(ContainerBase.java:381)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4119)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)

解决方案

第一,需要知道jvm虚拟机本来就有apache的东西,即像common-ioxxx之类的部分api已经集成在jdk里;
第二,如果你引用的第三方jar包,里面有一份log4j.properties文件的话,那么还是会被覆盖掉。
第三,jvm启动web或者app时,默认加载当前classpath的log4j.properties,然后才是你自己的log4j.properties
看看上面三个建议能帮得上你忙吗。

解决方案二:

我搜索了网上所有关于log4j的配置信息,并正确配置了log4j.properties中日志输出为本地的绝对路径。
------问题依然出现

好吧,不经意间做了如下操作:web项目右键--myeclipse ---run validation验证所有都选择“是”,重新运行

竟然发现问题解决了。

问题分析:web项目权限不足,无法搜索本地计算机的绝对路径。

                                **验证后,web项目拥有权限。**
时间: 2024-11-01 00:03:50

error-关于log4j:ERROR setFile(null,true) call failed.的相关文章

error-log4j:ERROR setFile(null,true) call failed.

问题描述 log4j:ERROR setFile(null,true) call failed. 用的是eclipse. log4j:ERROR setFile(null,true) call failed. java.io.FileNotFoundException: consoleldap.log (拒绝访问.) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.(Unknown Sourc

Fckeditor XML Request error:internal server error (500) 解决方法小结_网页编辑器

原来一直能用的ecshop后台信息发布里面的fckeditor上传功能,换了个机器后不能用了.以为是文件损坏,上传一边不行. 什么xml错误,还弹出一个大的JavaScript alert警告框,内容就是服务器端错误的500内容 网上搜,又说是配置问题,主题问题,想想都不应该,直接请求 复制代码 代码如下: filemanager/connectors/php/connector.php 出了服务器的500错误,html文件能访问,txt也行. 后来从根目录开始查,发现到fckeditor目录里

链表-c语言编译 出现error C2061 和error C2059

问题描述 c语言编译 出现error C2061 和error C2059 不知道为什么一直出现说我标识符有问题的提示,我看了下以前编的程序,好像也是这样写法的啊,不知这次怎么会这样.求各位大神相助. #include <stdio.h> #include <stdlib.h> struct Jihe{ char nodeSet; struct Jihe* next; }; bool Initiate(struct Jihe** head){ *head = (struct Jih

ERROR 1025 (HY000): Error on rename of to

        刚才又一个一不小心,在Slave上执行了更改数据库schema的操作,结果是这台服务器在mmm_control中的状态就变成了:REPLICATION_FAIL.先通过writer执行了同样的操作,保证服务器正常运行,然后就考虑把这台slave重新拉回到mysql-mmm阵营.         看了一下执行的增量SQL文件,它进行的主要操作有:为一个表A添加三个字段A1.A2.A3,增加一个新表B,为表C增加一个字段C1,其中C1为外键CF1(关键点是:外键的名字和字段的名字相同

ERROR:internal error Unable to locate libvirtd daem错误

在编译配置libvirt12.2时如果prefix不是usr目录,在使用libvirt创建VM则会出现 ERROR:internal error Unable to locate libvirtd daemon in $PATH 即便libvirtd所在目录已经加入了PATH.本人认为这是libvirt一个bug. 解决方法是:把你的libvirtd链接到/usr下 #pwd /usr #ln -s /usr/local/libvirt/sbin/libvirtd libvirtd 上面问题解决

Error in registration. Error: Error Domain=NSCocoaErrorDomain Code=3000 &amp;quot;未找到应用程序的“aps-environment”的授

2014-11-20 12:34:35.252 JPushDemo[307:27958] Error in registration. Error: Error Domain=NSCocoaErrorDomain Code=3000 "未找到应用程序的"aps-environment"的授权字符串" UserInfo=0x14d65220 {NSLocalizedDescription=未找到应用程序的"aps-environment"的授权字符

keil编译时 error C141: syntax error near &amp;amp;#39;)&amp;amp;#39;

问题描述 keil编译时 error C141: syntax error near ')' 简单的烟雾报警程序中先是缺少了lcd1602的头文件 我从网上找了添加了后发现有错误 求大神帮我解答一下疑问 谢谢了 /******************************** FILE NAME: lcd1602.c CHIP TYPE: AT89C51 CLOCK FREQUENCY: 12MHZ IDE: VSMStudio COMPILER: IAR for 8051 TIME: Sep

ERROR 1010 (HY000): Error dropping database (can&amp;#39;t rmdir &amp;#39;.\qpweb&amp;#39;, errno: 41) 删库失败问题的解决

今天用mysql的图形化工具删除表和数据库失败,最终参考以下文档成功: 稍有不同的是,mysql的安装,一个是在linux系统,一个是在windows. 以下文档地址:http://blog.csdn.net/defonds/article/details/45113783 Win8 下,MySQL5.5,root 用户登录 MySQL 5.5 Command Line Client,删除 qpweb 数据,执行命令 drop database qpweb;报错信息:ERROR 1010 (HY

fastjson-求助: syntax error, expect {, actual error, pos 0

问题描述 求助: syntax error, expect {, actual error, pos 0 @RequestMapping(value="/update/{id}", method=RequestMethod.PUT) public @ResponseBody BaseVo update(@PathVariable String id,@RequestBody UpdateRequest updateRequest){ BaseVo baseVo=new BaseVo()