Я использую банки log4j2 в приложении adc приложения adacle на 12c.Невозможно создать несколько файлов журналов на основе значений карты ThreadContext с использованием приложения маршрутизации в log4j2
Требование: создать несколько журнальных файлов на основе сеанса и динамически изменять свойства ведения журнала.
Log4j2.xml файл
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="trace" packages="apps.adfAppUI.ui.bean">
<Appenders>
<File name="file" fileName="./adfAppCustomLogs/TestLog4j2.log">
<PatternLayout>
<Pattern>%d{YYYY-MM-dd HH:mm:ss.SSS} %-5level %class %L %M - %msg%xEx%n</Pattern>
</PatternLayout>
</File>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%m%n"/>
</Console>
<Routing name="AppRouting">
<Routes pattern="$${ctx:ROUTINGKEY}">
<!-- This route is chosen if ThreadContext has value 'user' for key ROUTINGKEY. -->
<Route key="USER">
<RollingFile name="Rolling-USER-${ctx:ROUTINGKEY}-${ctx:LOGGEDSESSIONID}" append="true" fileName="./adfAppCustomLogs/${ctx:ROUTINGKEY}-${ctx:LOGINID}-${ctx:LOGGEDSESSIONID}.log"
filePattern="./adfAppCustomLogs/archive/${date:yyyy-MM}/${ctx:LOGINID}-%d{MM-dd-yyyy}-%i.txt.gz">
<PatternLayout>
<Pattern>%d{YYYY-MM-dd HH:mm:ss.SSS} %-5level %class %L %M - %msg%xEx%n</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="6" modulate="true" />
<SizeBasedTriggeringPolicy size="50 MB"/>
</Policies>
</RollingFile>
</Route>
</Routes>
</Routing>
<Async name="async" bufferSize="1000" includeLocation="true">
<AppenderRef ref="AppRouting" />
</Async>
</Appenders>
<Loggers>
<Root level="trace">
<!--<AppenderRef ref="file" level="DEBUG"/> -->
<AppenderRef ref="async"/>
<AppenderRef ref="STDOUT"/>
</Root>
</Loggers>
</Configuration>
Я звоню класс полезности, где значения threadcontext устанавливаются и clearled после регистрации.
Проблема: Несмотря на то, что я изменяю значения threadcontext для каждого сеанса, я не вижу создания нескольких файлов. Все журналы добавляются в один файл. Но когда я перезапускаю сервер, создается новый файл, и снова все журналы сеансов присоединяются к нему.
Спасибо.
В дополнение к голым XML вы могли бы также добавить объяснение, в чем проблема в исходном XML? – pinkpanther