From 76fb21b31b6e9ffedfd9ffbbd2ffee3b2a4af2e9 Mon Sep 17 00:00:00 2001 From: David Zuelke Date: Wed, 29 Aug 2012 10:54:14 +0200 Subject: [PATCH] Allow passing of openlog() options in SyslogHandler ctor --- src/Monolog/Handler/SyslogHandler.php | 4 ++-- tests/Monolog/Handler/SyslogHandlerTest.php | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Monolog/Handler/SyslogHandler.php b/src/Monolog/Handler/SyslogHandler.php index f569f44cf..628621f74 100644 --- a/src/Monolog/Handler/SyslogHandler.php +++ b/src/Monolog/Handler/SyslogHandler.php @@ -67,7 +67,7 @@ class SyslogHandler extends AbstractProcessingHandler * @param integer $level The minimum logging level at which this handler will be triggered * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not */ - public function __construct($ident, $facility = LOG_USER, $level = Logger::DEBUG, $bubble = true) + public function __construct($ident, $facility = LOG_USER, $level = Logger::DEBUG, $bubble = true, $logopts = LOG_PID) { parent::__construct($level, $bubble); @@ -89,7 +89,7 @@ public function __construct($ident, $facility = LOG_USER, $level = Logger::DEBUG throw new \UnexpectedValueException('Unknown facility value "'.$facility.'" given'); } - if (!openlog($ident, LOG_PID, $facility)) { + if (!openlog($ident, $logopts, $facility)) { throw new \LogicException('Can\'t open syslog for ident "'.$ident.'" and facility "'.$facility.'"'); } } diff --git a/tests/Monolog/Handler/SyslogHandlerTest.php b/tests/Monolog/Handler/SyslogHandlerTest.php index 88e09b777..98219ac12 100644 --- a/tests/Monolog/Handler/SyslogHandlerTest.php +++ b/tests/Monolog/Handler/SyslogHandlerTest.php @@ -10,6 +10,7 @@ */ namespace Monolog\Handler; +use Monolog\Logger; class SyslogHandlerTest extends \PHPUnit_Framework_TestCase { @@ -26,6 +27,9 @@ public function testConstruct() $handler = new SyslogHandler('test', 'user'); $this->assertInstanceOf('Monolog\Handler\SyslogHandler', $handler); + + $handler = new SyslogHandler('test', LOG_USER, Logger::DEBUG, true, LOG_PERROR); + $this->assertInstanceOf('Monolog\Handler\SyslogHandler', $handler); } /**