PluginProbe
UpdraftPlus: WP Backup & Migration Plugin / 1.16.5
UpdraftPlus: WP Backup & Migration Plugin v1.16.5
1.26.7 1.26.6 1.26.5 1.26.4 1.26.3 1.9.19 1.9.25 1.9.26 1.9.30 1.9.31 1.9.32 1.9.4 1.9.40 1.9.41 1.9.42 1.9.43 1.9.44 1.9.45 1.9.46 1.9.5 1.9.50 1.9.51 1.9.60 1.9.62 1.9.63 All 371 releases
updraftplus / includes / Google / Logger / Psr.php

Psr.php in UpdraftPlus: WP Backup & Migration Plugin 1.16.5, at includes/Google/Logger/Psr.php

94 lines 2.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /*
3 * Copyright 2014 Google Inc.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18 if (!class_exists('Google_Client')) {
19 require_once dirname(__FILE__) . '/../autoload.php';
20 }
21
22 /**
23 * Psr logging class based on the PSR-3 standard.
24 *
25 * This logger will delegate all logging to a PSR-3 compatible logger specified
26 * with the `Google_Logger_Psr::setLogger()` method.
27 */
28 class Google_Logger_Psr extends Google_Logger_Abstract
29 {
30 /**
31 * @param Psr\Log\LoggerInterface $logger The PSR-3 logger
32 */
33 private $logger;
34
35 /**
36 * @param Google_Client $client The current Google client
37 * @param Psr\Log\LoggerInterface $logger PSR-3 logger where logging will be delegated.
38 */
39 public function __construct(Google_Client $client, /*Psr\Log\LoggerInterface*/ $logger = null)
40 {
41 parent::__construct($client);
42
43 if ($logger) {
44 $this->setLogger($logger);
45 }
46 }
47
48 /**
49 * Sets the PSR-3 logger where logging will be delegated.
50 *
51 * NOTE: The `$logger` should technically implement
52 * `Psr\Log\LoggerInterface`, but we don't explicitly require this so that
53 * we can be compatible with PHP 5.2.
54 *
55 * @param Psr\Log\LoggerInterface $logger The PSR-3 logger
56 */
57 public function setLogger(/*Psr\Log\LoggerInterface*/ $logger)
58 {
59 $this->logger = $logger;
60 }
61
62 /**
63 * {@inheritdoc}
64 */
65 public function shouldHandle($level)
66 {
67 return isset($this->logger) && parent::shouldHandle($level);
68 }
69
70 /**
71 * {@inheritdoc}
72 */
73 public function log($level, $message, array $context = array())
74 {
75 if (!$this->shouldHandle($level)) {
76 return false;
77 }
78
79 if ($context) {
80 $this->reverseJsonInContext($context);
81 }
82
83 $levelName = is_int($level) ? array_search($level, self::$levels) : $level;
84 $this->logger->log($levelName, $message, $context);
85 }
86
87 /**
88 * {@inheritdoc}
89 */
90 protected function write($message, array $context = array())
91 {
92 }
93 }
94