大多数标准Monolog(https://github.com/Seldaek/monolog/tree/master/src/Monolog)处理程序在内部处理它们的触发,例如:
// https://github.com/Seldaek/monolog/blob/master/src/Monolog/Handler/PHPConsoleHandler.php#L76
public function __construct(array $options = [], Connector $connector = null, $level = Logger::DEBUG, $bubble = true)
处理程序已注册为
$logger->pushHandler(new PHPConsoleHandler(/* ... arguments */));
为什么不在注册处理程序时声明触发器级别,例如
$logger->pushHandler(new PHPConsoleHandler(), [Logger::DEBUG]);
答案 0 :(得分:0)
注意:由于我不是Monolog的开发者,这只是猜测。
你所拥有的是一个命令,它被转换为"将项目X添加到处理程序数组"。当您在众多编程语言中查找不同的变体时,您会看到,当push()
函数/方法具有多个元素时,它们都是添加到给定数组中的东西。请参阅php和javascript中的示例定义。这是一个惯例。