The original working group was relatively idle and was temporarily seconded to the new working group. The team leader gave a task to change the XML configuration file of Log4j to properties, because the XML format looks uncomfortable. Ha, the above is not a rant, just explain why I have to work so hard to use properties as a configuration file.
Log4j2 abandoned the properties configuration file format at the beginning, and by version 2.4, it began to support the properties configuration file format. There are new requirements in version 2.6. I'm using the most recent version 2.8 at the time of this writing
status = error property.LOG_HOME=/output/logs property.BACKUP_HOME=backup property.SERVER_NAME=buddie-Service property.EVERY_FILE_SIZE=10M property.OUTPUT_LOG_LEVEL=INFO property.FILE_MAX=10 appender.console.type = Console appender.console.name = STDOUT appender.console.layout.type = PatternLayout appender.console.layout.pattern = %m%n appender.rolling.type=RollingFile appender.rolling.name=RollingFileAll appender.rolling.filter.threshold.level = trace appender.rolling.filter.threshold.type = ThresholdFilter appender.rolling.fileName=${LOG_HOME}/dev_${SERVER_NAME}_all.log appender.rolling.filePattern=${LOG_HOME}/dev_${BACKUP_HOME}/dev_${SERVER_NAME}_all.%d{yyyy-MM-dd-HH}.log appender.rolling.layout.type=PatternLayout appender.rolling.layout.pattern=%d %p %C{1.} [%t] %m%n appender.rolling.policies.type=Policies appender.rolling.policies.time.type=TimeBasedTriggeringPolicy appender.rolling.policies.time.interval=2 appender.rolling.policies.time.modulate=true appender.rolling.policies.size.type=SizeBasedTriggeringPolicy appender.rolling.policies.size.size=${EVERY_FILE_SIZE} appender.rolling.strategy.type=DefaultRolloverStrategy appender.error.type=RollingFile appender.error.name=RollingFileError appender.error.filter.threshold.level = error appender.error.filter.threshold.type = ThresholdFilter appender.error.fileName=${LOG_HOME}/dev_${SERVER_NAME}_error.log appender.error.filePattern=${LOG_HOME}/dev_${BACKUP_HOME}/dev_${SERVER_NAME}_error.%d{yyyy-MM-dd-HH}.log appender.error.layout.type=PatternLayout appender.error.layout.pattern=%d %p %C{1.} [%t] %m%n appender.error.policies.type=Policies appender.error.policies.time.type=TimeBasedTriggeringPolicy appender.error.policies.time.interval=2 appender.error.policies.time.modulate=true appender.error.policies.size.type=SizeBasedTriggeringPolicy appender.error.policies.size.size=${EVERY_FILE_SIZE} appender.error.strategy.type=DefaultRolloverStrategy appender.charge.type=RollingFile appender.charge.name=RollingFileCharge appender.charge.filter.threshold.level = trace appender.charge.filter.threshold.type = ThresholdFilter appender.charge.fileName=${LOG_HOME}/dev_${SERVER_NAME}_charge.log appender.charge.filePattern=${LOG_HOME}/dev_${BACKUP_HOME}/dev_${SERVER_NAME}_charge.%d{yyyy-MM-dd-HH}.log appender.charge.layout.type=PatternLayout appender.charge.layout.pattern=%d %p %C{1.} [%t] %m%n appender.charge.policies.type=Policies appender.charge.policies.time.type=TimeBasedTriggeringPolicy appender.charge.policies.time.interval=2 appender.charge.policies.time.modulate=true appender.charge.policies.size.type=SizeBasedTriggeringPolicy appender.charge.policies.size.size=${EVERY_FILE_SIZE} appender.charge.strategy.type=DefaultRolloverStrategy logger.activity.name = buddie.activity logger.activity.level = debug logger.activity.additivity = false logger.activity.appenderRef.all.ref = RollingFileAll logger.activity.appenderRef.error.ref = RollingFileError logger.activity.appenderRef.stdout.ref = STDOUT logger.login.name = buddie.login logger.login.level = debug logger.login.additivity = false logger.login.appenderRef.all.ref = RollingFileAll logger.login.appenderRef.error.ref = RollingFileError logger.login.appenderRef.stdout.ref = STDOUT logger.charge.name = buddie.charge logger.charge.level = trace logger.charge.additivity = false logger.charge.appenderRef.all.ref = RollingFileAll logger.charge.appenderRef.error.ref = RollingFileError logger.charge.appenderRef.charge.ref = RollingFileCharge logger.charge.appenderRef.stdout.ref = STDOUT rootLogger.level = info rootLogger.appenderRef.stdout.ref = STDOUT rootLogger.appenderRef.all.ref = RollingFileAll rootLogger.appenderRef.error.ref = RollingFileError