首页 > 解决方案 > log4j 是否支持符号链接日志文件?

问题描述

我正在尝试在 log4j.properties 的文件属性中使用符号链接。下面是我的 log4j.properties:

log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=./abl-che-logs.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{dd-MM-yyyy HH:mm:ss} %-5p %c{1}:%L - %m%n 

这里 abl-che-logs.log 是 dev/stdout 的符号链接。

但我收到以下错误:

在此处输入图像描述 我用来创建符号链接的命令

ln -sf /dev/stdout /home/theia/browser-app/abl-che-logs.log

谁能帮助我对 log4j.properties 进行哪些更改以支持符号链接?

如果您想知道为什么我使用指向 /dev/stdout 的符号链接,请参考这个

标签: log4j

解决方案


最近遇到同样的问题,我尝试了这个,这可能会对你有所帮助:

ln -sf /proc/1/fd/1 /home/theia/browser-app/abl-che-logs.log

我试图让 docker 文件以与您相同的方式显示日志,但 RollingFileAppender 正在重写文件并删除符号链接,因为我还定义了 RolloverStrategy。要修复它,您需要将其添加到您的 xml 文件中:

<DefaultRolloverStrategy max="10" followLinks="true">

在这里你可以看到他是如何做到的,也许会给你一些提示。


推荐阅读