You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4php-dev@logging.apache.org by "Nick Mitchell (JIRA)" <ji...@apache.org> on 2010/03/24 21:11:27 UTC

[jira] Created: (LOG4PHP-106) LoggerReflectionUtils::setProperties() does not reset $properties array pointer, causing appenders to not be configured

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.


[jira] Resolved: (LOG4PHP-106) LoggerReflectionUtils::setProperties() does not reset $properties array pointer, causing appenders to not be configured

Posted by "Christian Grobmeier (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/LOG4PHP-106?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Christian Grobmeier resolved LOG4PHP-106.
-----------------------------------------

       Resolution: Fixed
    Fix Version/s: 2.1

Hi,
actually yesterday I fixed this :-)
Here is the latest state:
http://ci.apache.org/projects/log4php/coverage-report/LoggerReflectionUtils.php.html#72

But thanks VERY much for heads up and digging out this issue!

Christian

> 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
>             Fix For: 2.1
>
>
> 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.