LoggerReflectionUtils::setProperties() does not reset $properties array
pointer, causing appenders to not be configured
-----------------------------------------------------------------------------------------------------------------------
Key: LOG4PHP-106
URL: https://issues.apache.org/jira/browse/LOG4PHP-106
Project: Log4php
Issue Type: Bug
Components: Code
Affects Versions: 2.0
Reporter: Nick Mitchell
Given the following log4php ini file:
---
log4php.appender.SERVICELOG=LoggerAppenderFile
log4php.appender.SERVICELOG.file=/var/gcmanage/log/service.log
log4php.appender.SERVICELOG.append=true
log4php.appender.SERVICELOG.layout=LoggerLayoutPattern
log4php.appender.SERVICELOG.layout.ConversionPattern="%d{ISO8601} [%c{1}] %-5p
- %m%n"
log4php.appender.SYSTEMLOG=LoggerAppenderFile
log4php.appender.SYSTEMLOG.file=/var/gcmanage/log/system.log
log4php.appender.SYSTEMLOG.append=true
log4php.appender.SYSTEMLOG.layout=LoggerLayoutPattern
log4php.appender.SYSTEMLOG.layout.ConversionPattern="%d{ISO8601} [%c{1}] %-5p -
%m%n"
log4php.rootLogger=INFO, SYSTEMLOG
log4php.logger.service=INHERIT, SERVICELOG
log4php.additivity.service=false
---
The SERVICELOG appender will appear unconfigured after Logger::configure().
This is due to the array pointer on $properties not being reset() on subsequent
calls to LoggerReflectionUtils::setProperties(). I was able to fix the problem
by adding a reset($properties) on line 72 of LoggerReflectionUtils.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.