如何根据系统属性设置RollingAppender自定义文件名

3
我将尝试通过修改log4j.xml文件中的适当appender来更改日志文件名。
以下是log4j.xml文件的一部分:
 <RollingFile name="Rolling-Async-Perf" fileName="/usr/local/mule/logs/${application_name}-weirdo.log"
            filePattern="./logs/${date:yyyy-MM}/perf-%d{yyyy-MM-dd}-%i.log.gz"  immediateFlush="false">

这是我设置application_name值的方法。
System.setProperty("application_name", "myAppName");

然而,生成的文件名为${application_name}-weirdo.log,而不是myAppName-weirdo.log。如果您有任何想法可以帮助解决这个问题,将不胜感激。
1个回答

0
假设每个应用程序或包有一个附加器,为什么不在您的fileName中硬编码名称,而不是通过系统属性设置它; 这基本上表示所有来自我的应用程序的日志都保存在此fileName(硬编码名称)中。
无论如何; 您可以尝试用${sys:application_name}替换${application_name},看看是否起作用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接