BryanDavis has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/198662

Change subject: Monolog: simplify beta configurations
......................................................................

Monolog: simplify beta configurations

Use the new functionality of MWLoggerMonologHandler that sets the
udp2log destination file based on the logging channel name. Additionally
reduce the number of MWLoggerMonologSyslogHandler instances created by
naming and reusing handlers based on level rather than channel.

Requires: Ie2b24ba02b281b8d8cf2ad58d28874c710e1e2e5
Change-Id: I8790da95fd658234e35b2d846af35993ebcd80e9
---
M wmf-config/logging-labs.php
1 file changed, 29 insertions(+), 24 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/mediawiki-config 
refs/changes/62/198662/1

diff --git a/wmf-config/logging-labs.php b/wmf-config/logging-labs.php
index af4d1dd..528227a 100644
--- a/wmf-config/logging-labs.php
+++ b/wmf-config/logging-labs.php
@@ -97,7 +97,11 @@
                        'args' => array( $wgDebugLogFile, true ),
                        'formatter' => 'legacy',
                ),
-               'logstash' => wmMonologSyslogConfigFactory( 
\Monolog\Logger::DEBUG ),
+               'udp2log' => array(
+                       'class' => 'MWLoggerMonologHandler',
+                       'args' => array( "udp://{$wmfUdp2logDest}/{channel}", 
true ),
+                       'formatter' => 'legacy',
+               ),
        ),
 
        'formatters' => array(
@@ -114,9 +118,8 @@
 // Add logging channels defined in $wgDebugLogGroups
 foreach ( $wgDebugLogGroups as $group => $dest ) {
        $sample = false;
-       $level = false;
+       $level = 'debug';
        $sendToLogstash = true;
-       $logstashHandler = 'logstash';
        if ( is_array( $dest ) ) {
                // NOTE: sampled logs are not guaranteed to store the same 
events in
                // logstash and via udp2log since the two event handlers 
independently
@@ -128,40 +131,42 @@
        }
 
        if ( $sendToLogstash ) {
-               if ( $level !== false ) {
-                       $logstashHandler = "filtered-{$group}";
+               $logstashHandler = "logstash-{$level}";
+               if ( !isset( $wmgMonologConfig['handlers'][$logstashHandler] ) 
) {
+                       // Register handler that will only pass events of the 
given
+                       // log level
                        $wmgMonologConfig['handlers'][$logstashHandler] =
                                wmMonologSyslogConfigFactory( $level );
                }
 
                if ( $sample === false ) {
-                       $handlers = array( $group, $logstashHandler );
+                       $handlers = array( 'udp2log', $logstashHandler );
                } else {
-                       $wmgMonologConfig['handlers']["sampled-{$group}"] = 
array(
-                               'class' => 'MWLoggerMonologSamplingHandler',
-                               'args' => array(
-                                       function() use ( $logstashHandler ) {
-                                               return 
MWLogger::getProvider()->getHandler(
-                                                       $logstashHandler
-                                               );
-                                       },
-                                       $sample,
-                               ),
-                       );
-                       $handlers = array( $group, "sampled-{$group}" );
+                       $sampledHandler = 
"{$logstashHandler}-sampled-{$sample}";
+                       if ( !isset( 
$wmgMonologConfig['handlers'][$sampledHandler] ) ) {
+                               // Register a handler that will sample the 
event stream and
+                               // pass events on to $logstashHandler for 
storage
+                               $wmgMonologConfig['handlers'][$sampledHandler] 
= array(
+                                       'class' => 
'\\Monolog\\Handler\\SamplingHandler',
+                                       'args' => array(
+                                               function () use ( 
$logstashHandler ) {
+                                                       return 
MWLogger::getProvider()->getHandler(
+                                                               $logstashHandler
+                                                       );
+                                               },
+                                               $sample,
+                                       ),
+                               );
+                       }
+                       $handlers = array( 'udp2log', $sampledHandler );
                }
        } else {
-               $handlers = array( $group );
+               $handlers = array( 'udp2log' );
        }
 
        $wmgMonologConfig['loggers'][$group] = array(
                'handlers' => $handlers,
                'processors' => array( 'wiki', 'psr', 'pid', 'uid', 'web' ),
-       );
-       $wmgMonologConfig['handlers'][$group] = array(
-               'class' => 'MWLoggerMonologHandler',
-               'args' => array( $dest, true ),
-               'formatter' => 'legacy',
        );
 }
 

-- 
To view, visit https://gerrit.wikimedia.org/r/198662
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I8790da95fd658234e35b2d846af35993ebcd80e9
Gerrit-PatchSet: 1
Gerrit-Project: operations/mediawiki-config
Gerrit-Branch: master
Gerrit-Owner: BryanDavis <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to