【发布时间】:2022-01-18 16:31:23
【问题描述】:
我需要能够修改我的 log4j2.xml 文件写入日志文件的位置。
我想创建一个与应用程序的 .jar (my/path/app.jar) 相同级别的文件夹来存储日志 (my/path/logs/log1.log)。
问题在于我无法从文件中获取我的 jar 的运行位置(可能会有所不同)(如果不需要,我不想使用环境变量)。你会怎么做?这是我的 log4j2.xml 文件
<RollingFile name="rollingFile"
fileName="my/path/application.log"
filePattern="my/path/application.%d{dd-MMM}.log"
ignoreExceptions="false">
<PatternLayout>
<Pattern>%d{yyyy-MM-dd HH:mm:ss} %-5p %m%n</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="1" />
</Policies>
<DefaultRolloverStrategy>
<!-- Delete logs older than 60 days -->
<Delete basePath="my/route/">
<IfLastModified age="60d" />
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
我已经看到您可以使用 spring 变量,但我不想实现该云依赖项(因为我不将它用于任何事情)。
在同一个问题中,如果在 IfLastModified 中添加文件夹的路径,我应该删除日志(在这种情况下每 60 天一次,不是吗?)
上下文:
- 带有 spring 的 Java 应用程序
- 可以更改我运行应用程序的操作系统
欢迎任何想法,谢谢!
【问题讨论】:
标签: java spring-boot logging log4j2