如何使用Log4J DailyRollingFileAppender保留现有的日志文件权限

时间:2011-01-19 10:43:06

标签: log4j

我有一个jar文件,它在内部使用日志文件来写消息。使用这个jar我开发了一个Perl模块。该模块的使用是完全坚定的。所以我对所有日志文件都赋予666权限,以便每个人都可以使用该模块。问题是jar文件内部使用log4j而appender是DailyRollingFileAppender,它在滚动后将日志文件的权限重置为664,并且某些人无法使用该模块。

有没有办法提到log4j来保留日志文件的现有权限?如果没有,有人可以建议替代方案吗?

1 个答案:

答案 0 :(得分:1)

这是操作系统的责任。当Log4j滚动日志时,操作系统将根据自己的规则创建该新文件。

您应该能够手动重现此操作,方法是在日志目录中打开一个shell并运行touch testfile - 文件testfile应该具有与新log4j文件相同的权限。

您需要查看目录上的文件权限,即该目录中新文件继承的权限。您可能还需要修改用户的umask设置。

如果你可以在不使用log4j或java的情况下重现问题,那么它就会变得更容易解决,但最好在superuser.com上询问。

相关问题