[
https://issues.apache.org/jira/browse/LOG4PHP-18?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Yomei Komiya closed LOG4PHP-18.
-------------------------------
Resolution: Fixed
This patch was committed at r699319. Thanks.
> Date pattern %d conversion is invalid.
> --------------------------------------
>
> Key: LOG4PHP-18
> URL: https://issues.apache.org/jira/browse/LOG4PHP-18
> Project: Log4php
> Issue Type: Bug
> Environment: log4php r692607,
> PHP 5.2.4-2ubuntu5.3 with Suhosin-Patch 0.9.6.2,
> Ubuntu 8.04
> Reporter: Yomei Komiya
>
> Date pattern %d conversion includes fragile regular expression and arbitrary
> substitute of ','.
> So user definition pattern (%d{format}) is not converted well.
> patch as follows.
> ---------------------------------------------------------------------------------
> diff -urN log4php/helpers/LoggerPatternConverter.php
> log4php.new/helpers/LoggerPatternConverter.php
> --- log4php/helpers/LoggerPatternConverter.php
> +++ log4php.new/helpers/LoggerPatternConverter.php
> @@ -289,7 +289,7 @@
> {
> $timeStamp = $event->getTimeStamp();
> $usecs = round(($timeStamp - (int)$timeStamp) * 1000);
> - $this->df = str_replace("\u", "u", ereg_replace("[^\\]u",
> sprintf(',%03d', $usecs), $this->df));
> + $this->df = preg_replace('/((?<!\\\\)(?:\\\\{2})*)u/', '${1}' .
> sprintf('%03d', $usecs), $this->df);
>
> return date($this->df, $event->getTimeStamp());
> ---------------------------------------------------------------------------------
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.