Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java log4j未使用websphere登录AIX_Java_Log4j_Aix - Fatal编程技术网

Java log4j未使用websphere登录AIX

Java log4j未使用websphere登录AIX,java,log4j,aix,Java,Log4j,Aix,我有一个servlet,它应该用log4j记录消息。在开发环境(Windows+Eclipse+tomcat)下,log4j正在工作 当我将servlet部署到生产环境(AIX+websphere)中时,它没有给出任何日志 我不知道发生了什么事可能的原因是什么?在验证日志功能是否在开发环境中工作后,eclipse创建了war文件。我想在生产中再次部署之前收集更多线索 java程序没有给出任何线索。我查阅了SystemOut.log,log4j记录器已成功初始化,但是,他们没有说日志文件有任何问题

我有一个servlet,它应该用log4j记录消息。在开发环境(Windows+Eclipse+tomcat)下,log4j正在工作

当我将servlet部署到生产环境(AIX+websphere)中时,它没有给出任何日志

我不知道发生了什么事可能的原因是什么?在验证日志功能是否在开发环境中工作后,eclipse创建了war文件。我想在生产中再次部署之前收集更多线索

java程序没有给出任何线索。我查阅了SystemOut.log,log4j记录器已成功初始化,但是,他们没有说日志文件有任何问题

我怀疑有两个原因:

1) 日志目录具有drwxr-xr-x权限,可能是java程序没有在那里创建文件的权限

2) log4j.properties文件很奇怪。当我通过vi查看AIX时,我发现每行结束后都有一个^M。unix可能不需要这个回车字符。也许这个角色把事情搞砸了

编辑:我发现还有另一个名为SystemErr.log的日志文件。它包含错误消息:

[9/1/11 17:07:43:086 HKT]00000013系统错误日志4J:错误 setFile(null,true)调用失败

[9/1/11 17:07:43:086 HKT]00000013 SystemErr R java.io.FileNotFoundException:/bps/log/BpsPdfBill.log (文件访问权限不允许指定的操作。)


作为一个servlet感觉如何?:-)

主题:如果您将日志文件放在war文件解包文件夹之外,那么谁是所有者?要能够使用这些权限写入目录,用户
was
必须是所有者(并且必须具有访问父文件夹的权限)


^M字符是DOS/windows中出现的换行符,对于UNIX,它们是空白,因此不是问题(只是麻烦),在打包war存档之前,您可以在Ant构建文件中添加一个任务来删除换行符。

因此,我的最佳选择是为外部目录设置777权限,或者使用war文件中的目录作为日志目录?@gunbuster363,将权限设置为777是最简单但不是必需的。如果您
chown was:was/bps/log
,并确保
/bps
对用户
was
(或其他)至少具有
r-x
权限,您也应该可以。我将目录设置为777。现在没事了。谢谢