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 "Knut Urdalen (JIRA)" <ji...@apache.org> on 2009/04/29 22:37:30 UTC
[jira] Resolved: (LOG4PHP-16) Patch for LoggerAppenderSyslog to use
Layouts
[ https://issues.apache.org/jira/browse/LOG4PHP-16?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Knut Urdalen resolved LOG4PHP-16.
---------------------------------
Resolution: Fixed
Assignee: Knut Urdalen
Marshall has a good point about size limits for syslog, anyway it's totally reasonable to use layouts in the syslog-appender as well. In example if you want to use MDC properties.
> Patch for LoggerAppenderSyslog to use Layouts
> ---------------------------------------------
>
> Key: LOG4PHP-16
> URL: https://issues.apache.org/jira/browse/LOG4PHP-16
> Project: Log4php
> Issue Type: Improvement
> Components: Code
> Reporter: Gary Richardson
> Assignee: Knut Urdalen
> Priority: Minor
> Fix For: 2.0
>
> Attachments: LoggerAppenderSyslog.patch
>
>
> I noticed that LoggerAppenderSyslog seems to ignore layouts. I'm not sure if this is by design.
> The following patch causes LoggerAppenderSyslog to use layouts:
> Index: src/main/php/appenders/LoggerAppenderSyslog.php
> ===================================================================
> --- src/main/php/appenders/LoggerAppenderSyslog.php (revision 677439)
> +++ src/main/php/appenders/LoggerAppenderSyslog.php (working copy)
> @@ -86,6 +86,11 @@
> */
> private $_overridePriority;
>
> + public function __construct($name) {
> + parent::__construct($name);
> + $this->requiresLayout = true;
> + }
> +
> /**
> * Set the ident of the syslog message.
> *
> @@ -156,7 +161,12 @@
> openlog($this->_ident, $this->_option, $this->_facility);
>
> $level = $event->getLevel();
> - $message = $event->getRenderedMessage();
> + if(null == $this->layout) {
> + $message = $event->getRenderedMessage();
> + }
> + else {
> + $message = $this->layout->format($event);
> + }
>
> // If the priority of a syslog message can be overridden by a value defined in the properties-file,
> // use that value, else use the one that is defined in the code.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.