Differences Between: [Versions 310 and 402] [Versions 311 and 402] [Versions 39 and 402] [Versions 400 and 402] [Versions 401 and 402]
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 #[AllowDynamicProperties] 29 class Google_Logger_Psr extends Google_Logger_Abstract 30 { 31 /** 32 * @param Psr\Log\LoggerInterface $logger The PSR-3 logger 33 */ 34 private $logger; 35 36 /** 37 * @param Google_Client $client The current Google client 38 * @param Psr\Log\LoggerInterface $logger PSR-3 logger where logging will be delegated. 39 */ 40 public function __construct(Google_Client $client, /*Psr\Log\LoggerInterface*/ $logger = null) 41 { 42 parent::__construct($client); 43 44 if ($logger) { 45 $this->setLogger($logger); 46 } 47 } 48 49 /** 50 * Sets the PSR-3 logger where logging will be delegated. 51 * 52 * NOTE: The `$logger` should technically implement 53 * `Psr\Log\LoggerInterface`, but we don't explicitly require this so that 54 * we can be compatible with PHP 5.2. 55 * 56 * @param Psr\Log\LoggerInterface $logger The PSR-3 logger 57 */ 58 public function setLogger(/*Psr\Log\LoggerInterface*/ $logger) 59 { 60 $this->logger = $logger; 61 } 62 63 /** 64 * {@inheritdoc} 65 */ 66 public function shouldHandle($level) 67 { 68 return isset($this->logger) && parent::shouldHandle($level); 69 } 70 71 /** 72 * {@inheritdoc} 73 */ 74 public function log($level, $message, array $context = array()) 75 { 76 if (!$this->shouldHandle($level)) { 77 return false; 78 } 79 80 if ($context) { 81 $this->reverseJsonInContext($context); 82 } 83 84 $levelName = is_int($level) ? array_search($level, self::$levels) : $level; 85 $this->logger->log($levelName, $message, $context); 86 } 87 88 /** 89 * {@inheritdoc} 90 */ 91 protected function write($message, array $context = array()) 92 { 93 } 94 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body