You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@logging.apache.org by "Nick Kom (Jira)" <ji...@apache.org> on 2022/01/18 17:40:00 UTC

[jira] [Created] (LOG4J2-3346) After 2.17.0 upgarde Route appenders with dynamic file writing are not working

Nick Kom created LOG4J2-3346:
--------------------------------

             Summary: After 2.17.0 upgarde Route appenders with dynamic file writing are not working 
                 Key: LOG4J2-3346
                 URL: https://issues.apache.org/jira/browse/LOG4J2-3346
             Project: Log4j 2
          Issue Type: Bug
          Components: Appenders
    Affects Versions: 2.17.0
         Environment: We switched from the version 2.11.1 to 2.17.0 and writing to separate files stopped working. Configuration log4j:
{code:xml}
<Appenders>
...
<Routing name="routing">
            <Routes pattern="$${ctx:V_PID}">
                <Route>
                    <RollingFile name="rolling-${ctx:V_PID}" fileName="${logPath}/task-${ctx:V_PID}.log"
                                             filePattern="${logArchPath}/task-${ctx:V_PID}-${archFile}" ignoreExceptions="false">
                        <PatternLayout pattern="${pattern}"/>
                        <SizeBasedTriggeringPolicy size="10 MB"/>
                    </RollingFile>
                </Route>
            </Routes>
            <IdlePurgePolicy timeToLive="2" timeUnit="minutes"/>
</Routing>
...
</Appenders>

<Loggers>
    <Logger name="com.rou.let" level="trace">
            <AppenderRef ref="routing"/>
    </Logger>
</Loggers>{code}
 In code we use Slf4J logger (org.slf4j.Logger) and org.apache.logging.log4j.ThreadContext :
{code:java}
ThreadContext.put("V_PID", pid); 
org.slf4j.Logger logger =org.slf4j.LoggerFactory.getLogger(MessageFormat.format(...));
{code}
 maven dependencies in pom.xml: 
{code:xml}
....
<slf4j.version>1.7.7</slf4j.version> 
<log4j2.version>2.17.0</log4j2.version>
...
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>

<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>${log4j2.version}</version>
</dependency>

<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>${log4j2.version}</version>
</dependency>

<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${log4j2.version}</version>
</dependency>
...
{code}
We use this in our web application which is deployed on Weblogic 12.2.1.0.0

What can be wrong? Why aren't separate files (task-${ctx:V_PID}.log) created in the folder \{logPath}? 

Before library version 2.12.2 (inclusive),it's worked!
            Reporter: Nick Kom






--
This message was sent by Atlassian Jira
(v8.20.1#820001)