更改 RollingFile log4j2 用变量写入日志的位置
Change where RollingFile log4j2 writes the log with variables
我需要能够修改我的 log4j2.xml 文件写入日志文件的位置。
我想创建一个与应用程序的 .jar ( my/path/app.jar ) 级别相同的文件夹来存储日志 ( my/path/logs/log1.log )。
问题在于我无法从文件中的 运行ning 中找到我的 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 天,不是吗?)
上下文:
- Java 应用 spring
- 可以改变OS我运行的应用
欢迎任何想法,谢谢!
相对路径 (../path) 在您 运行 .jar.
的任何地方都有效
我需要能够修改我的 log4j2.xml 文件写入日志文件的位置。
我想创建一个与应用程序的 .jar ( my/path/app.jar ) 级别相同的文件夹来存储日志 ( my/path/logs/log1.log )。
问题在于我无法从文件中的 运行ning 中找到我的 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 天,不是吗?)
上下文:
- Java 应用 spring
- 可以改变OS我运行的应用
欢迎任何想法,谢谢!
相对路径 (../path) 在您 运行 .jar.
的任何地方都有效