小编Ken*_*aln的帖子

log4j RollingFileAppender创建的日志文件的权限

如何RollingFileAppender确定创建的文件权限?

我最近更改了一个守护程序进程,我必须以非root用户身份运行,现在正在创建具有权限的文件0600(只有所有者可读),但我希望它们可被所有或至少成员读取管理员组(06440640).我的tomcat应用程序创建的文件总是0644(所有人都可读).

我不知道我是否无意中改变了其他内容,或者是否与该用户的权限有关.我将父目录0777作为测试,它似乎没有帮助(它是0755).显然不是什么大不了,因为我可以sudo看看它们,但相当烦人,如果我必须有一个客户为我复制它将是一个问题.

环境是Ubuntu 10.04LTS jsvc/commons-daemon用来运行守护进程.如果重要的是我的log4j配置的基础知识:

<!DOCTYPE log4j:configuration SYSTEM 'log4j.dtd'>
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="true">

<appender name="StdOutAppender" class="org.apache.log4j.ConsoleAppender">
    <!-- only send error / fatal messages to console (catalina.out) -->
    <param name="threshold" value="${log4j.StdOutAppender.threshold}" />
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%5p %d{ISO8601} [%t][%x] %c - %m%n" />
        <!--%d{dd-MMM-yyyy HH:mm:ss.SSS} [%5p] %c{2}.%M [line:%L]: %m%n-->
    </layout>
</appender>

<appender name="TimeBasedRollingFileAppender" class="org.apache.log4j.rolling.RollingFileAppender">
    <param name="append" value="true" />
    <param name="encoding" value="UTF-8" /> …
Run Code Online (Sandbox Code Playgroud)

java file-permissions log4j rollingfileappender

19
推荐指数
3
解决办法
3万
查看次数