我正在尝试配置tomcat 7.0.23中的RollingFile appender(带有10个日志文件的log4j2(2.0.2)。
当我将${sys:catalina.base}替换为filePattern=“c:/apache-tomcat-7.0.23/logs/app.%I.log”时,它起作用了。
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Appenders>
<Console name="CONSOLE" target="SYSTEM_OUT">
<PatternLayout pattern="%d %-5p [%X{REQ_ID}] [%c{1}] %m%n"/>
</Console>
<RollingFile name="FILE" fileName="${sys:catalina.base}/logs/app.log"
filePattern="${sys:catalina.base}/logs/app.%i.log">
<PatternLayout pattern="%d %-5p [%X{REQ_ID}] [%c{1}] %m%n"/>
<Policies>
<SizeBasedTriggeringPolicy size="10 MB" />
</Policies>
<DefaultRolloverStrategy max="10"/>
</RollingFile>
</Appenders>
<Loggers>
<Root level="info">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</Root>
</Loggers>
</Configuration>
这意味着无法正确解释filePattern。
如何克服这个问题而不必静态地指定日志目录?
您描述的内容与Log4J2-829中报告的问题非常相似。这是2.0-RC2版本中引入的一个bug。它最近在master中被修复,修复将包含在即将发布的2.1版本中。(我希望2.1能在下周某个时候发布--但没有promise……)
如果您很着急,可以从Log4j2 GIT存储库中签出代码,并在本地构建2.1快照。
我只是想知道有没有什么方法可以为log4j中的属性替换提供默认值呢? 我想在Java系统属性中传递文件路径,然后与“${env:MySystemProperty}”一起使用。但如果开发人员忘记设置此属性怎么办?那么我希望在log4j2.xml中定义一些有意义的默认值。 你知道如何实现这个功能吗? 编辑: 环境替换对我不起作用: standalone.conf log4j2.xml 我可以在wild
我正在使用log4j2进行一个项目,我的log4j2中有一些值。可配置的属性。该项目还将包括其他组件的配置文件。理想情况下,我希望将所有配置保存在一个地方,以便能够在同一个文件中为log4j设置那些可配置的值,这样我就不会有两个不同的地方更改配置值(例如,包括环境变量)。 我在这方面找到的方法并不理想,比如让我的项目的其他部分从主配置文件中读取值,并将它们放入系统变量中,由log4j获取,因为我希
我正在使用log4j2。 我想创建一个RollingFileAppender,它每天旋转日志文件。在应用程序启动之前,日志文件的名称是未知的(日志文件名是从应用程序配置组装而来的)。 这就是为什么我需要在运行时添加RollingFileAppender。 我有以下代码: 问题是这段代码完全没有改变什么。未向配置中添加追加器和记录器。以编程方式创建的“文件记录器”不可用。 执行上述代码后,我使用此代
我在Spring Boot应用程序中使用mapstruct进行映射。我的源对象如下: 在源到目标对象的实际映射之前,我想用null替换所有字符串和源列表的空值(不需要手动映射)? 如何使用mapstruct或任何Java库来实现这一点?
我使用的是log4j2 2.7版本,并且我配置了log4j2附加器,该附加器应每分钟滚动一次: 但由于一些未知的原因,我在日志翻转期间收到以下异常: 但如果我将%I更新为C://ssvp-api.log//api.%d{yyyymmdd.hhmm}-%I.log,则一切正常,但我不想在日志文件名中添加其他文件号(例如API.20180606.1448-1.log) 有没有机会避免在日志文件名中有文
我正在使用log4j 2.4,并尝试将转换为,但是似乎不能使用log4j2.properties。 null 虽然以下文档https://logging.apache.org/log4j/2.x/manual/configuration.html#属性 清楚地表明 属性配置文件支持广告客户、monitorInterval、name、packages、shutdownHook、status 我也尝试