Log4j2 Apache Bundle Property Substitution not working
I’m creating rolling log files and trying to lookup property.logs-baseDir
and property.logs-fileName
values from application-dev.properties
. Both files are in the resources
directory of a maven project. I have the following in the properties file
property.logs-baseDir=C:\\Users\\username\\Project\\logs property.logs-fileName=projectLogs.log logging.config=classpath:log4j2-dev.xml logging.level.com.project=DEBUG logging.level.org.springframework.web=DEBUG logging.level.org.hibernate=ERROR ... server.tomcat.accesslog.XXX=XXXX # Properties similar to this spring.XXX=XXXX # Spring properties such as datasource project.XXX=XXXX # Project related properties
In my log4j2-dev.xml
file, I have the following
<?xml version="1.0" encoding="UTF-8"?> <Configuration status="FATAL"> <Properties> <Property name="baseDir">${bundle:application-dev:property.logs-baseDir}</Property> <Property name="fileName">${bundle:application-dev:property.logs-fileName}</Property> </Properties> <Appenders> <RollingFile name="RollingFile" target="SYSTEM_OUT" fileName="${baseDir}/${fileName}.log" filePattern="${baseDir}/logsFrom-$${date:yyyy-MM}/${fileName}-%d{MM-dd-yyyy}-%i.log.gz" ignoreExceptions="false" append="true" > <Policies> <TimeBasedTriggeringPolicy /> <SizeBasedTriggeringPolicy size="10MB" /> <OnStartupTriggeringPolicy /> </Policies> <DefaultRolloverStrategy max="20"/> </RollingFile> <Failover name="Failover" primary="RollingFile"> <Failovers> <AppenderRef ref="Console" /> </Failovers> </Failover> </Appenders> <Loggers> <Root level="INFO"> <AppenderRef ref="Failover" /> </Root> </Loggers> </Configuration>
Is there something I’m missing? When I remove the lookup values with the actual values it works. But not when trying to read from the application.properties
or application-dev.properties
file.
Any assistance appreciated!