You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

36 lines
971 B

<?php
namespace Common;
use Psr\Log\LoggerInterface;
use Monolog\Logger;
use Monolog\Handler\NoopHandler;
use Monolog\Handler\StreamHandler;
use Monolog\Formatter\LineFormatter;
use Mangoweb\MonologTracyHandler\TracyHandler;
use Mangoweb\MonologTracyHandler\TracyProcessor;
class LoggerFactory
{
public static function create(string $log_directory) : LoggerInterface
{
$file_handler = new StreamHandler($log_directory . "/main.log", 'debug');
$file_handler->setFormatter(new LineFormatter(null, null , false, true));
$logger = new Logger('default');
$logger->pushProcessor(new TracyProcessor);
$logger->pushHandler(new TracyHandler($log_directory));
$logger->pushHandler($file_handler);
return $logger;
}
public static function createForTests() : LoggerInterface
{
$logger = new Logger('default');
$logger->pushHandler(new NoopHandler());
return $logger;
}
}