Как использовать DeduplicationHandler в монологе? - PullRequest
0 голосов
/ 03 мая 2020

Я не могу найти примеров использования DeduplicationHandler в monolog в php скрипте. Я читал об этом, и аргументы, которые он принимает, но не могу заставить его работать. Я получаю ошибку construct() must implement interface Monolog\Handler\HandlerInterface, null given, но выясню, как это реализовать.

Я новичок в монологии, но я уже нашел ее очень полезной. Но я хотел бы устранить некоторые дубликаты, которые я получаю. Использовать ли это go как-то так?

require __DIR__ . '/vendor/autoload.php';
use Monolog\Handler\StreamHandler;
use Monolog\Handler\HandlerInterface;
use Monolog\Handler\DeduplicationHandler;
use Monolog\Logger;

$logger = new Logger('user_pg');
$logger->pushHandler(new StreamHandler(__DIR__ . '/log/user.log', Logger::DEBUG));
$handler = $logger->pushHandler(new HandlerInterface( __DIR__ . '/log/duplicates.log', Logger::ERROR));
$logger->pushHandler(new DeduplicationHandler($handler, 
$deduplicationStore = __DIR__ . '/log/duplicates.log', 
$deduplicationLevel = Logger::ERROR, $time = 60, $bubble = true));

Я, очевидно, стреляю в темноте, поскольку я не могу найти никаких примеров использования этого в сценарии php, подобном этому.
Любая помощь будет оценена.

...