Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.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.properties文件中设置文件权限_Java_Logging_Log4j - Fatal编程技术网

Java 如何在log4j.properties文件中设置文件权限

Java 如何在log4j.properties文件中设置文件权限,java,logging,log4j,Java,Logging,Log4j,我使用的是slf4j-log4j12最新版本1.7.25。我们使用kibana查看日志,但kibana无法从tomcat读取日志。我需要设置filePermissions以从log4j.properties文件中的tomcat读取文件 filePermissions="rw-r-----" 我的log4j.properties文件 # Put log messages in rolling log file log4j.rootLogger=info, file log4j.logger.co

我使用的是slf4j-log4j12最新版本1.7.25。我们使用kibana查看日志,但kibana无法从tomcat读取日志。我需要设置filePermissions以从log4j.properties文件中的tomcat读取文件

filePermissions="rw-r-----"
我的log4j.properties文件

# Put log messages in rolling log file
log4j.rootLogger=info, file
log4j.logger.com.sample=debug
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File=logs/MyService.log
log4j.appender.file.DatePattern='.'yyyy-MM-dd
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p %c{4} %M:%L - %m%n

如果我没有弄错你的问题,请提供你对此的想法。 关于官方文件:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="trace" name="MyApp" packages="">
  <Properties>
    <Property name="baseDir">logs</Property>
  </Properties>
  <Appenders>
    <RollingFile name="RollingFile" fileName="${baseDir}/app.log"
                 filePattern="${baseDir}/$${date:yyyy-MM}/app-%d{yyyyMMdd}.log.gz"
                 filePermissions="rw-------">
      <PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
      <CronTriggeringPolicy schedule="0 0 0 * * ?"/>
      <DefaultRolloverStrategy stopCustomActionsOnError="true">
        <PosixViewAttribute basePath="${baseDir}/$${date:yyyy-MM}" filePermissions="r--r--r--">
            <IfFileName glob="*.gz" />
        </PosixViewAttribute>
      </DefaultRolloverStrategy>
    </RollingFile>
  </Appenders>

  <Loggers>
    <Root level="error">
      <AppenderRef ref="RollingFile"/>
    </Root>
  </Loggers>

</Configuration>

日志

它可以是
log4j.appender.file.filePermissions=rw------
,但应该进行测试!
其思想是将此属性配置为其他属性

我需要log4j.properties文件中的这个配置。您可以为log4j.properties文件提供此文件权限吗?我在log4j.properties中设置此配置,如“log4j.appender.file.filePermissions=rw-r------”。但我在日志下看不到任何更改。我不确定此属性设置是否正确。问题可能是因为:属性不支持高级配置功能,如customhandler、嵌套的appender(如AsynchAppenders),我们可以使用log4j.xml实现这些功能。如果您使用的是最新版本,则可能需要切换:)