for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace leinonen\Yii2Monolog\CreationStrategies;
use Monolog\Handler\RotatingFileHandler;
use Monolog\Logger;
class RotatingFileHandlerStrategy implements CreationStrategyInterface
{
/**
* {@inheritdoc}
*/
public function getRequiredParameters(): array
return [
'path',
];
}
public function getConstructorParameters(array $config): array
$filename = \Yii::getAlias($config['path']);
$maxFiles = $config['maxFiles'] ?? 0;
$level = $config['level'] ?? Logger::DEBUG;
$bubble = $config['bubble'] ?? true;
$filePermission = $config['filePermission'] ?? null;
$useLocking = $config['useLocking'] ?? false;
return [$filename, $maxFiles, $level, $bubble, $filePermission, $useLocking];
public function getConfigurationCallable(array $config): callable
return $config['configure'] ?? function ($instance) {
return $instance;
};