Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.17.0
-
None
-
None
Description
Values added to the Thread Context are no longer accessible from Property tags.
<Properties>
<Property name="filename.transaction_log">${sys:access.log.location}/${web:contextPath}{}{_}transaction_$${ctx:txLogRecordType}.log
</Property>
<Properties>
<appenders>
<Routing name="TRANSACTION_LOG">
<Routes pattern="$${ctx:txLogRecordType}">
<Route>
<RollingFile name="Rolling-Transaction-Log-${ctx:txLogRecordType}"
fileName="${filename.transaction_log}"
filePattern="${filenamePattern.transaction_log}">
<PatternLayout pattern="%m" />
<TimeBasedTriggeringPolicy interval="1" />
<DefaultRolloverStrategy max="31" />
</RollingFile>
</Route>
</Routes>
</Routing>
</appenders>
Added to the MDC in Java:
org.slf4j.MDC.put("txLogRecordType", eventType);
The file produced now looks like:
myservice_transaction_${ctx.txLogRecordType}_2022-01-27-16.log
Prior to upgrading to log4j2 2.17.0, this interpolated as expected.
Have also tried myserver_transaction_%X{txLogRecordType}.log, but gives similar output file.
Attachments
Issue Links
- duplicates
-
LOG4J2-3317 After 2.17.1 upgarde, Route appenders with dynamic file writing are not working .
- Resolved