我有一个jar文件,它在内部使用日志文件来写消息。使用这个jar我开发了一个Perl模块。该模块的使用是完全坚定的。所以我对所有日志文件都赋予666
权限,以便每个人都可以使用该模块。问题是jar文件内部使用log4j而appender是DailyRollingFileAppender
,它在滚动后将日志文件的权限重置为664
,并且某些人无法使用该模块。
有没有办法提到log4j来保留日志文件的现有权限?如果没有,有人可以建议替代方案吗?
答案 0 :(得分:1)
这是操作系统的责任。当Log4j滚动日志时,操作系统将根据自己的规则创建该新文件。
您应该能够手动重现此操作,方法是在日志目录中打开一个shell并运行touch testfile
- 文件testfile
应该具有与新log4j文件相同的权限。
您需要查看目录上的文件权限,即该目录中新文件继承的权限。您可能还需要修改用户的umask
设置。
如果你可以在不使用log4j或java的情况下重现问题,那么它就会变得更容易解决,但最好在superuser.com上询问。