Toku: Reset payments

This commit is contained in:
Juan Pablo Vial
2025-06-10 16:26:33 -04:00
parent 21473fe52c
commit e1072ea252
6 changed files with 201 additions and 51 deletions

View File

@ -27,8 +27,8 @@ return [
$container->get(Monolog\Processor\UidProcessor::class),
];
},
'defaultMonologHandlers' => function(ContainerInterface $container) {
$baseHandlers = [
'baseDefaultHandlers' => function(ContainerInterface $container) {
return [
'critical' => [
'handler' => Monolog\Handler\RotatingFileHandler::class,
'filename' => 'critical.log',
@ -49,56 +49,28 @@ return [
'levels' => [Monolog\Level::Debug, Monolog\Level::Info]
],
];
},
'developmentHandlers' => function(ContainerInterface $container) {
$baseHandlers = $container->get('baseDefaultHandlers');
$baseHandlers['critical']['handler'] = Monolog\Handler\StreamHandler::class;
$baseHandlers['error']['handler'] = Monolog\Handler\StreamHandler::class;
$baseHandlers['notices']['handler'] = Monolog\Handler\StreamHandler::class;
$baseHandlers['notices']['filename'] = 'notices.log';
$baseHandlers['debug']['handler'] = Monolog\Handler\StreamHandler::class;
$baseHandlers['debug']['filename'] = 'debug.log';
return $baseHandlers;
},
'defaultMonologHandlers' => function(ContainerInterface $container) {
$key = 'baseDefault';
if ($container->has('ENVIRONMENT') and $container->get('ENVIRONMENT') === 'development') {
$baseHandlers['critical']['handler'] = Monolog\Handler\StreamHandler::class;
$baseHandlers['error']['handler'] = Monolog\Handler\StreamHandler::class;
$baseHandlers['notices']['handler'] = Monolog\Handler\StreamHandler::class;
$baseHandlers['notices']['filename'] = 'notices.log';
$baseHandlers['debug']['handler'] = Monolog\Handler\StreamHandler::class;
$baseHandlers['debug']['filename'] = 'debug.log';
}
$handlers = [];
foreach ($baseHandlers as $handlerData) {
if (in_array($handlerData['handler'], [
Monolog\Handler\StreamHandler::class,
Monolog\Handler\RotatingFileHandler::class,
])) {
$params = [
"/logs/{$handlerData['filename']}",
];
if ($handlerData['handler'] === Monolog\Handler\RotatingFileHandler::class) {
$params []= 10;
}
$handler = new $handlerData['handler'](...$params)
->setFormatter($container->get(Monolog\Formatter\LineFormatter::class));
} elseif ($handlerData['handler'] === Incoviba\Common\Implement\Log\Handler\MySQL::class) {
$params = [
$container->get(Incoviba\Common\Define\Connection::class)
];
$handler = new $handlerData['handler'](...$params)
->setFormatter(new \Incoviba\Common\Implement\Log\Formatter\PDO());
} elseif ($handlerData['handler'] === Monolog\Handler\RedisHandler::class) {
$params = [
$container->get(Predis\ClientInterface::class),
"logs:{$handlerData['name']}"
];
$handler = new $handlerData['handler'](...$params);
$key = 'development';
if (!$container->has("{$key}Handlers")) {
$key = 'baseDefault';
}
$params = [
$handler,
];
if (is_array($handlerData['levels'])) {
foreach ($handlerData['levels'] as $level) {
$params []= $level;
}
} else {
$params []= $handlerData['levels'];
$params []= Monolog\Level::Emergency;
}
$params []= false;
$handlers []= new Monolog\Handler\FilterHandler(...$params);
}
return $handlers;
$baseHandlers = $container->get("{$key}Handlers");
$builder = $container->get(Incoviba\Common\Implement\Log\Processor\ArrayBuilder::class);
return $builder->build($baseHandlers);
},
Psr\Log\LoggerInterface::class => function(ContainerInterface $container) {
return new Monolog\Logger('incoviba',
@ -108,6 +80,26 @@ return [
$container->get(DateTimeZone::class)
);
},
'jsonHandlers' => function(ContainerInterface $container) {
$baseHandlers = $container->get('baseDefaultHandlers');
$baseHandlers['debug']['handler'] = Monolog\Handler\RotatingFileHandler::class;
$baseHandlers['debug']['filename'] = 'info.json';
$baseHandlers['debug']['formatter'] = Monolog\Formatter\JsonFormatter::class;
$baseHandlers['notices']['handler'] = Monolog\Handler\RotatingFileHandler::class;
$baseHandlers['notices']['filename'] = 'notices.json';
$baseHandlers['notices']['formatter'] = Monolog\Formatter\JsonFormatter::class;
return $baseHandlers;
},
'jsonLogger' => function(ContainerInterface $container) {
$builder = $container->get(Incoviba\Common\Implement\Log\Processor\ArrayBuilder::class);
$handlers = $builder->build($container->get('jsonHandlers'));
return new Monolog\Logger('json',
$handlers,
[$container->get(Incoviba\Common\Implement\Log\Processor\User::class)]
+ $container->get('baseMonologProcessors'),
$container->get(DateTimeZone::class)
);
},
'loginLogger' => function(ContainerInterface $container) {
return new Monolog\Logger('login',
[

View File

@ -149,6 +149,7 @@ return [
$container->get(Incoviba\Service\UF::class)
);
$service->setLogger($container->get('externalLogger'));
$service->setAltLogger($container->get('jsonLogger'));
return $service;
},
Incoviba\Service\Venta\MediosPago\Toku::class => function(ContainerInterface $container) {