PHP Monolog作为记录器仅打印信息级别

PHP Monolog作为记录器仅打印信息级别,php,monolog,Php,Monolog,我有一个通过composer自动加载到所有其他类的类: use Monolog\Logger; use Monolog\Handler\StreamHandler; class LogStreamer { protected static $instance; public static function getLogger() { if(! self::$instance){ self::configureInstance(

我有一个通过composer自动加载到所有其他类的类:

use Monolog\Logger;
use Monolog\Handler\StreamHandler;

class LogStreamer
{

    protected static $instance;

    public static function getLogger()
    {
        if(! self::$instance){
            self::configureInstance();
        }

        return self::$instance;
    }

    private static function configureInstance() {
        $logger = new Logger('Q');
        $logger->pushHandler(new StreamHandler('/var/log/php/php.log'), Logger::INFO);
        self::$instance = $logger;
    }

    public static function info($message, array $context = []){
        self::getLogger()->addInfo($message, $context);
    }
    public static function debug($message, array $context = []){
        self::getLogger()->addDebug($message, $context);
    }
当我在其他类中使用它时,它看起来是这样的:

public function getOptions() {
    LogStreamer::debug("Debug happened in log streamer");
    LogStreamer::info("Info happened in log streamer");
它可以打印出以下内容:


当然,在这种情况下,我只需要信息日志级别。但是,它同时打印了这两种内容。如何解决此问题?

日志级别是
StreamHandler
构造函数的参数,而不是函数
pushHandler()

发件人:

致:


应该做你想做的事

日志级别是
StreamHandler
构造函数的参数,而不是函数
pushHandler()

发件人:

致:

你想干什么就干什么

[2018-07-02 09:56:34] Q.DEBUG: Debug happened in log streamer [] []
[2018-07-02 09:56:34] Q.INFO: Info happened in log streamer [] []
$logger->pushHandler(new StreamHandler('/var/log/php/php.log'), Logger::INFO);
$logger->pushHandler(new StreamHandler('/var/log/php/php.log', Logger::INFO));