[英]PHP Monolog logger RotatingFileHandler never rotates files
[英]PHP Monolog as Logger Only Prints Info Level
我有一類可以通過作曲器自動加載到其他所有類的類:
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");
它確實打印出了東西:
[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 [] []
但是,在這種情況下,我當然只希望信息日志級別。 但是,它同時打印兩個。 我怎樣才能解決這個問題?
日志級別是StreamHandler
構造函數的參數,而不是函數pushHandler()
。
從:
$logger->pushHandler(new StreamHandler('/var/log/php/php.log'), Logger::INFO);
至:
$logger->pushHandler(new StreamHandler('/var/log/php/php.log', Logger::INFO));
應該做你想做的
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.