Skip to content

Commit e3b21dc

Browse files
committed
revert rfc field to scalar node (for SyslogUdpHandler::RFC5424e), update ident field validation
1 parent 0e5f93e commit e3b21dc

File tree

3 files changed

+36
-7
lines changed

3 files changed

+36
-7
lines changed

DependencyInjection/Configuration.php

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@
163163
* - [level]: level name or int value, defaults to DEBUG
164164
* - [bubble]: bool, defaults to true
165165
* - [ident]: string, defaults to
166-
* - [rfc]: SyslogUdpHandler::RFC3164 (0) or SyslogUdpHandler::RFC5424 (1), defaults to SyslogUdpHandler::RFC5424
166+
* - [rfc]: SyslogUdpHandler::RFC3164 (0), SyslogUdpHandler::RFC5424 (1) or 2 (for SyslogUdpHandler::RFC5424e, monolog 1 does not support it) defaults to SyslogUdpHandler::RFC5424
167167
*
168168
* - swift_mailer:
169169
* - from_email: optional if email_prototype is given
@@ -410,7 +410,7 @@ public function getConfigTreeBuilder()
410410
->booleanNode('use_locking')->defaultFalse()->end() // stream and rotating
411411
->scalarNode('filename_format')->defaultValue('{filename}-{date}')->end() //rotating
412412
->scalarNode('date_format')->defaultValue('Y-m-d')->end() //rotating
413-
->scalarNode('ident')->defaultFalse()->end() // syslog and syslogudp
413+
->scalarNode('ident')->defaultValue('php')->end() // syslog and syslogudp
414414
->scalarNode('logopts')->defaultValue(LOG_PID)->end() // syslog
415415
->scalarNode('facility')->defaultValue('user')->end() // syslog
416416
->scalarNode('max_files')->defaultValue(0)->end() // rotating
@@ -496,10 +496,7 @@ public function getConfigTreeBuilder()
496496
->scalarNode('title')->defaultNull()->end() // pushover
497497
->scalarNode('host')->defaultNull()->end() // syslogudp & hipchat
498498
->scalarNode('port')->defaultValue(514)->end() // syslogudp
499-
->enumNode('rfc')
500-
->values([SyslogUdpHandler::RFC5424, SyslogUdpHandler::RFC3164])
501-
->defaultValue(SyslogUdpHandler::RFC5424)
502-
->end() // syslogudp
499+
->scalarNode('rfc')->defaultValue(SyslogUdpHandler::RFC5424)->end() // syslogudp
503500
->arrayNode('publisher')
504501
->canBeUnset()
505502
->beforeNormalization()

DependencyInjection/MonologExtension.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -519,12 +519,18 @@ private function buildHandler(ContainerBuilder $container, $name, array $handler
519519
$handler['level'],
520520
$handler['bubble'],
521521
]);
522-
if ($handler['ident']) {
522+
523+
if (false === $handler['ident'] || null === $handler['ident']) {
524+
$handler['ident'] = 'php';
525+
$definition->addArgument($handler['ident']);
526+
} elseif ($handler['ident']) {
523527
$definition->addArgument($handler['ident']);
524528
}
529+
525530
if (isset($handler['rfc'])) {
526531
$definition->addArgument($handler['rfc']);
527532
}
533+
528534
break;
529535

530536
case 'swift_mailer':

Tests/DependencyInjection/MonologExtensionTest.php

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
use InvalidArgumentException;
1515
use Monolog\Handler\FingersCrossed\ErrorLevelActivationStrategy;
1616
use Monolog\Handler\RollbarHandler;
17+
use Monolog\Handler\SyslogUdpHandler;
1718
use Monolog\Logger;
1819
use Monolog\Processor\UidProcessor;
1920
use Symfony\Bridge\Monolog\Processor\SwitchUserTokenProcessor;
@@ -228,6 +229,31 @@ public function testSyslogHandlerWithLogopts()
228229
$this->assertDICConstructorArguments($handler, [false, 'user', \Monolog\Logger::DEBUG, true, LOG_CONS]);
229230
}
230231

232+
public function testSyslogHandlerForEmptyIdent()
233+
{
234+
$container = $this->getContainer(
235+
[
236+
[
237+
'handlers' => [
238+
'syslogudp' => [
239+
'type' => 'syslogudp',
240+
'host' => '127.0.0.1',
241+
'port' => 514,
242+
'facility' => 'USER',
243+
'level' => 'ERROR',
244+
'ident' => null,
245+
'rfc' => SyslogUdpHandler::RFC5424,
246+
]
247+
]
248+
]
249+
]
250+
);
251+
252+
$expectedArguments = ['127.0.0.1', 514, 'USER', true, 400, 'php', 1];
253+
$definition = $container->getDefinition('monolog.handler.syslogudp');
254+
$this->assertDICConstructorArguments($definition, $expectedArguments);
255+
}
256+
231257
public function testRollbarHandlerCreatesNotifier()
232258
{
233259
$container = $this->getContainer([['handlers' => ['main' => ['type' => 'rollbar', 'token' => 'MY_TOKEN']]]]);

0 commit comments

Comments
 (0)