From: Bryan Davis Date: Sun, 22 Mar 2015 22:12:25 +0000 (-0600) Subject: Allow MWLoggerMonologHandler to take prefix from channel X-Git-Tag: 1.31.0-rc.0~11968^2 X-Git-Url: https://git.cyclocoop.org//%22?a=commitdiff_plain;h=f16f8fe9c59825692b9bae8b842ed2f93fc723cf;p=lhc%2Fweb%2Fwiklou.git Allow MWLoggerMonologHandler to take prefix from channel Make MWLoggerMonologHandler replace a prefix of "{channel}" with the log event channel when formatting an event for a udp2log stream. This allows a simpler configuration for a typical Monolog configuration where a separate file is desired for each logging channel that is emitted to udp2log. One handler can be shared by multiple channels. Change-Id: Ie2b24ba02b281b8d8cf2ad58d28874c710e1e2e5 --- diff --git a/includes/debug/logger/monolog/Handler.php b/includes/debug/logger/monolog/Handler.php index a872d84e28..9e7678d21c 100644 --- a/includes/debug/logger/monolog/Handler.php +++ b/includes/debug/logger/monolog/Handler.php @@ -30,7 +30,8 @@ * - HOST: IPv4, IPv6 or hostname * - PORT: server port * - PREFIX: optional (but recommended) prefix telling udp2log how to route - * the log event + * the log event. The special prefix "{channel}" will use the log event's + * channel as the prefix value. * * When not targeting a udp2log stream this class will act as a drop-in * replacement for Monolog's StreamHandler. @@ -194,7 +195,9 @@ class MWLoggerMonologHandler extends \Monolog\Handler\AbstractProcessingHandler // Clean it up for the multiplexer if ( $this->prefix !== '' ) { - $text = preg_replace( '/^/m', "{$this->prefix} ", $text ); + $leader = ( $this->prefix === '{channel}' ) ? + $record['channel'] : $this->prefix; + $text = preg_replace( '/^/m', "{$leader} ", $text ); // Limit to 64KB if ( strlen( $text ) > 65506 ) {