Open DrupalHandler class for extensions
>>> [!note] Migrated issue <!-- Drupal.org comment --> <!-- Migrated from issue #2976310. --> Reported by: [zaporylie](https://www.drupal.org/user/1532844) >>> <p>It would be nice if open Drupal\monolog\Logger\Handler\DrupalHandler for extensions by changing all "private" members to "protected". This way one could extend the class and change its constructor etc.</p> <p>My use-case: I want to create monolog handler service based on WhatFailureGroupHandler and conditionally add dblog if the module is enabled. See example below (from mymodule.services.yml):</p> <pre>services:<br>&nbsp; monolog.handler.mymodule_development:<br>&nbsp;&nbsp;&nbsp; class: Monolog\Handler\WhatFailureGroupHandler<br>&nbsp;&nbsp;&nbsp; arguments: [['@monolog.handler.mymodule_dblog', '@monolog.handler.syslog']]<br>&nbsp; monolog.handler.mymodule_dblog:<br>&nbsp;&nbsp;&nbsp; class: Drupal\mymodule\Logger\Handler\DrupalHandler<br>&nbsp;&nbsp;&nbsp; arguments: ['@?logger.dblog']</pre><p>and DrupalHandler.php</p> <pre>class DrupalHandler extends Drupal\monolog\Logger\Handler\DrupalHandler {<br>&nbsp; public function __construct(LoggerInterface $wrapped = NULL, $level = Logger::DEBUG, $bubble = TRUE) {<br>&nbsp;&nbsp;&nbsp; if (isset($wrapped)) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; parent::__construct($level, $bubble);<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp; }<br>}</pre><p>.. or something like that :) </p> <p>Marking issue as minor since one can already achieve that by creating own DrupalHandler class from scratch.</p>
issue