java - 如何在 log4j.properties 文件中设置文件权限
问题描述
我正在使用 slf4j-log4j12 最新版本 1.7.25。我们正在使用 kibana 查看日志,但是 Kibana 无法从 tomcat 读取日志。我需要在 log4j.properties 文件中设置 filePermissions 以从 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>
链接:https ://logging.apache.org/log4j/2.x/manual/appenders.html
可能是log4j.appender.file.filePermissions=rw-------
,但应该测试!想法是将此属性配置为其他属性。
推荐阅读
- r - R:计算投资组合的累积回报
- javascript - 在 for 循环之外获取价值
- android - 如何将 childView 添加和堆叠到 LinearLayout?
- android - 如何在 android P 中更新持久应用
- javascript - 如何在html中突出显示特定链接和突出显示文本副本的自动?
- python - 在 matplotlib 中使用“contourf”设置颜色条范围
- python - 编辑同名文件
- google-maps - 谷歌地图 - 带孔和自定义背景的多边形
- php - html文档中的php表单在提交表单时避免重定向到顶部
- ruby-on-rails - Rails 5 集成测试失败,出现 NoMethodError:未定义方法 `[]=' for nil:NilClass when using Devise helper sign_in