PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.4
Booking for Appointments and Events Calendar – Amelia v2.4.4
2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / vendor / apimatic / core / src / Logger / ConsoleLogger.php
ameliabooking / vendor / apimatic / core / src / Logger Last commit date
Configuration 1 year ago ApiLogger.php 1 year ago ConsoleLogger.php 1 year ago LoggerConstants.php 1 year ago NullApiLogger.php 1 year ago
ConsoleLogger.php
46 lines
1 <?php
2
3 namespace Core\Logger;
4
5 use Closure;
6 use Core\Utils\CoreHelper;
7 use Psr\Log\AbstractLogger;
8 use Psr\Log\InvalidArgumentException;
9
10 class ConsoleLogger extends AbstractLogger
11 {
12 /**
13 * A callable function that takes in a format and any number of parameters to satisfy that format.
14 * For example: "printf", will be called like printf('%s %s', 'a', 'b')
15 *
16 * @var callable
17 */
18 private $printer;
19
20 public function __construct(callable $printer)
21 {
22 $this->printer = $printer;
23 }
24
25 /**
26 * @inheritDoc
27 */
28 public function log($level, $message, array $context = []): void
29 {
30 if (!in_array($level, LoggerConstants::ALLOWED_LOG_LEVELS, true)) {
31 throw new InvalidArgumentException(
32 "Invalid LogLevel: $level. See Psr\Log\LogLevel.php for possible values of log levels."
33 );
34 }
35 Closure::fromCallable($this->printer)("%s: %s\n", $level, str_replace(
36 array_map(function ($key) {
37 return '{' . $key . '}';
38 }, array_keys($context)),
39 array_map(function ($value) {
40 return CoreHelper::serialize($value);
41 }, $context),
42 $message
43 ));
44 }
45 }
46