[
https://issues.apache.org/jira/browse/LOG4PHP-200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13545873#comment-13545873
]
Ivan Habunek commented on LOG4PHP-200:
--------------------------------------
Finally I have managed to reproduce this with a clean install of Ubuntu.
However, when I edited the php.ini to set display_errors=On and reloaded
Apache, the problem no longer manifests. Gotta love debugging. :)
Anyway, I reverted to a clean install to reproduce the problem again. There is
a quite simple solution, and that is to access the superglobal variable once
when activating the converter to make sure it is initialized. Something like:
{code}
class LoggerPatternConverterServer extends LoggerPatternConverterSuperglobal {
protected $name = '_SERVER';
public function activateOptions() {
// Access the superglobal once so that it is initialized in
// case auto_globals_jit is active.
$_SERVER;
parent::activateOptions();
}
}
{code}
Not very tidy, though.
> Cannot find superglobal variable $_REQUEST
> ------------------------------------------
>
> Key: LOG4PHP-200
> URL: https://issues.apache.org/jira/browse/LOG4PHP-200
> Project: Log4php
> Issue Type: Bug
> Affects Versions: 2.3.0
> Environment: PHP 5.4.8, Linux, Apache 64-bit
> Reporter: Robert Schneider
> Attachments: phpinfo.htm
>
>
> I get the following warning in my browser:
> Warning: log4php: LoggerPatternConverterRequest: Cannot find superglobal
> variable $_REQUEST. in
> /home/fa008rz5/www/home/_dev/rsn/lib/log4php/src/pattern/LoggerPatternConverterSuperglobal.php
> on line 76
> This happens also sometimes with other superglobal variables.
> I have mentioned it already on the mailing list a time ago. You can have a
> look here:
> http://mail-archives.apache.org/mod_mbox/logging-log4php-user/201211.mbox/%[email protected]%3E
> My code:
> ----------------------------------------------
> {code}
> require_once __DIR__ . '/lib/log4php/src/Logger.php';
> Logger::configure(array(
> 'appenders' => array(
> 'myAppender' => array(
> 'class' => 'LoggerAppenderRollingFile',
> 'layout' => array(
> 'class' => 'LoggerLayoutPattern',
> 'params' => array('conversionPattern' =>
> '%date{d.m.Y H:i:s,u} %logger %-5level
> From:%server{REMOTE_ADDR}:%server{REMOTE_PORT} Request:[%request]
> %msg%n%ex')),
> 'params' => array(
> 'file' => __DIR__ . '/../log/log.log',
> 'maxFileSize' => '1MB',
> 'maxBackupIndex' => '20'))),
> 'loggers' => array(),
> 'renderers' => array(),
> 'rootLogger' => array(
> 'level' => 'info',
> 'appenders' => array('myAppender'))));
> $log = Logger::getRootLogger();
> {code}
> ----------------------------------------------
> Look into the attachment for the phpinfo output.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira