如何在log4j.properties文件中设置filePermissions

时间:2019-01-24 09:54:52

标签: 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.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

请对此发表您的看法

2 个答案:

答案 0 :(得分:1)

如果我正确回答您的问题。 关于官方文档:

<?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>

链接:https://logging.apache.org/log4j/2.x/manual/appenders.html

可能是log4j.appender.file.filePermissions=rw-------,但应该进行测试! 这个想法是将该属性配置为其他属性。

答案 1 :(得分:0)

根据 log4j 2.0 中引入的此功能的文档,正如您提到的,您仍在使用 1.x。