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

[jira] [Created] (LOG4J2-3328) Log4j bridge does not support system properties in log4j.xml

Paul Cooper created LOG4J2-3328:
-----------------------------------

             Summary: Log4j bridge does not support system properties in log4j.xml
                 Key: LOG4J2-3328
                 URL: https://issues.apache.org/jira/browse/LOG4J2-3328
             Project: Log4j 2
          Issue Type: Bug
          Components: Configuration
    Affects Versions: 2.17.1
         Environment: {{Windows 10}}

{{Amazon Linux}}
            Reporter: Paul Cooper


I am attempting to use the log4j bridge with log4j2, and cannot use system properties to set a location for my log files.

Reported here: [stackoverflow|https://stackoverflow.com/questions/70628593/system-property-not-being-read-by-log4j2-lo4j1-bridge]

My log4j.xml file:
{{log4j-dev.xml}}
{{...}}
{{<appender name="DAILY" class="org.apache.log4j.RollingFileAppender">}}
{{<param name="File" value="${catalina.base}/logs/etl.log"/>}}
{{<param name="DatePattern" value="'.'yyyy-MM-dd"/>}}
{{<layout class="org.apache.log4j.PatternLayout">}}
{{<param name="ConversionPattern" value="GATEWAY: %p %d [%t] %c\{1}.%M(%L) | %m%n"/>}}
{{</layout>}}
{{</appender>}}
{{...}}

The setenv.bat entry where I define which log4j.xml to use:
{{-Dlog4j2.debug=true -Dlog4j.configuration=log4j-dev.xml}}

The properties shown in the tomcat log illustrating that the system property in question is being supplied to the log4j1 bridge
{{...}}
{{Command line argument: -Dlog4j2.debug=true}}
{{Command line argument: -Dlog4j.logDir=C:\dev\apache-tomcat-8.5.50\logs}}
{{Command line argument: -Dlog4j.configuration=log4j-dev.xml}}
{{Command line argument: -Dcatalina.base=C:\dev\apache-tomcat-8.5.50}}
{{Command line argument: -Dcatalina.home=C:\dev\apache-tomcat-8.5.50}}
{{Command line argument: -Djava.io.tmpdir=C:\dev\apache-tomcat-8.5.50\temp}}
{{...}}

And the part of the log that shows where the log file is successfully created and what path it is using:

{{...}}
{{DEBUG StatusLogger Class name: [org.apache.log4j.RollingFileAppender]}}
{{DEBUG StatusLogger Parsing layout of class: "org.apache.log4j.PatternLayout"}}
{{DEBUG StatusLogger PluginManager 'Converter' found 47 plugins}}
{{TRACE StatusLogger New file '${catalina.base}/etl.log' created = true}}
{{DEBUG StatusLogger Returning file creation time for C:\dev\apache-tomcat-8.5.50\bin\${catalina.base}\etl.log}}
{{DEBUG StatusLogger Starting RollingFileManager ${catalina.base}/etl.log}}
{{...}}

The log file is being created in a folder named "${catalina.base}", in whatever directory I'm in when I start tomcat.  The issue is similar to this Jira issue, LOG4J2-2951, and that issue was just resolved in early December.




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