Lines 22.22% 2 / 9
Functions and Methods 0.00% 0 / 2
Classes and Traits 0.00% 0 / 1
Name Lines Functions and Methods CRAP Classes and Traits
VerboseCronLogTrait 22.22% 2 / 9 0.00% 0 / 2 11.53 0.00% 0 / 1
 resolveCronLogLevel 0.00% 0 / 5 0.00% 0 / 1 6
 writeVerboseCronLog 50.00% 2 / 4 0.00% 0 / 1 2.50
1<?php
2
3namespace BO\Zmsbackend\Helper;
4
5trait VerboseCronLogTrait
6{
7    /**
8     * @return array{0: string, 1: string}
9     */
10    protected static function resolveCronLogLevel(string $message, string $level): array
11    {
12        if (preg_match('/^(DEBUG|INFO|NOTICE|WARN(?:ING)?|ERROR|CRITICAL|ALERT|EMERGENCY):\s*(.*)$/s', $message, $matches)) {
13            $level = $matches[1];
14            $message = $matches[2];
15        }
16        $level = \BO\Slim\Bootstrap::normalizeLogLevelName($level);
17
18        return [$level, $message];
19    }
20
21    protected function writeVerboseCronLog(string $message, string $level = 'info'): void
22    {
23        if (!$this->verbose) {
24            return;
25        }
26        [$level, $message] = self::resolveCronLogLevel($message, $level);
27        \App::$log->{$level}($message);
28    }
29}