<?php namespace phpList\plugin\Common; /* * CommonPlugin for phplist * * This file is a part of CommonPlugin. * * @category phplist * @package CommonPlugin * @author Duncan Cameron * @copyright 2011-2018 Duncan Cameron * @license http://www.gnu.org/licenses/gpl.html GNU General Public License, Version 3 */ /* * This class extends KLogger to provide configuration through config.php entries. * It over-rides the log() method to include the calling class/method/line number * */ use Psr\Log\NullLogger; use Katzgrau\KLogger; class Logger extends KLogger\Logger { private static $instance; private $threshold; private $classes; /* * Public methods */ /** * Creates a configured instance using entries from config.php. * * @return Psr\Log\AbstractLogger */ public static function instance() { global $log_options; global $tmpdir; if (isset(self::$instance)) { return self::$instance; } if (isset($log_options['threshold']) && defined('Psr\Log\LogLevel::' . $log_options['threshold'])) { $threshold = constant('Psr\Log\LogLevel::' . $log_options['threshold']); $dir = isset($log_options['dir']) ? $log_options['dir'] : $tmpdir; $logger = new self($dir, $threshold); $logger->setDateFormat('D d M Y H:i:s'); } else { $logger = new NullLogger(); } self::$instance = $logger; return $logger; } /** * Constructor. * * @param string $dir File path to the logging directory * @param string $threshold One of the pre-defined PSR severity constants */ public function __construct($dir, $threshold) { global $log_options; $this->classes = isset($log_options['classes']) ? $log_options['classes'] : array(); $this->threshold = $threshold; parent::__construct($dir, $threshold); } /** * Logs messages only from configured classes. * Prepends the calling class/method/line number to the message. * * @param string $level * @param string $message * @param array $context */ public function log($level, $message, array $context = array()) { $trace = debug_backtrace(false, 3); /* * [0] is AbstractLogger calling this method * [1] is the caller of debug(), info() etc, which gives the line number * [2] is the previous level, which gives the class/method of the caller */ $frame = 1; if (empty($this->classes[$trace[$frame + 1]['class']])) { return; } $message = sprintf( "%s::%s, line %d\n", $trace[$frame + 1]['class'], $trace[$frame + 1]['function'], $trace[$frame]['line'] ) . $message; parent::log($level, $message, $context); } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
DAO | Folder | 0755 |
|
|
BaseController.php | File | 936 B | 0644 |
|
Config.php | File | 1003 B | 0644 |
|
Container.php | File | 509 B | 0644 |
|
Context.php | File | 1.18 KB | 0644 |
|
Controller.php | File | 2.43 KB | 0644 |
|
ControllerFactory.php | File | 479 B | 0644 |
|
ControllerFactoryBase.php | File | 1.4 KB | 0644 |
|
DAO.php | File | 692 B | 0644 |
|
DB.php | File | 2.47 KB | 0644 |
|
DBResultIterator.php | File | 931 B | 0644 |
|
Exception.php | File | 1.03 KB | 0644 |
|
ExportCSV.php | File | 962 B | 0644 |
|
ExportCSVAsync.php | File | 4.3 KB | 0644 |
|
ExportXML.php | File | 1.4 KB | 0644 |
|
FPDF.php | File | 1.03 KB | 0644 |
|
FileNotFoundException.php | File | 631 B | 0644 |
|
FileServer.php | File | 2.21 KB | 0644 |
|
FrontendTranslator.php | File | 1.46 KB | 0644 |
|
HelpManager.php | File | 2.61 KB | 0644 |
|
HtmlToPdf.php | File | 683 B | 0644 |
|
I18N.php | File | 5.05 KB | 0644 |
|
IChartable.php | File | 447 B | 0644 |
|
IExportable.php | File | 569 B | 0644 |
|
IMailClient.php | File | 1.33 KB | 0644 |
|
IPopulator.php | File | 517 B | 0644 |
|
ImageTag.php | File | 894 B | 0644 |
|
Listing.php | File | 1.23 KB | 0644 |
|
Logger.php | File | 2.88 KB | 0644 |
|
MailSender.php | File | 7.12 KB | 0644 |
|
Main.php | File | 1.21 KB | 0644 |
|
Model.php | File | 2.17 KB | 0644 |
|
PageLink.php | File | 1.33 KB | 0644 |
|
PageURL.php | File | 1.87 KB | 0644 |
|
Pager.php | File | 7.46 KB | 0644 |
|
Paginator.php | File | 1.53 KB | 0644 |
|
Populator.php | File | 1.34 KB | 0644 |
|
StringCallback.php | File | 559 B | 0644 |
|
StringStream.php | File | 3.41 KB | 0644 |
|
Tabs.php | File | 707 B | 0644 |
|
Toolbar.php | File | 2.62 KB | 0644 |
|
UniqueLogger.php | File | 1.14 KB | 0644 |
|
View.php | File | 669 B | 0644 |
|
WebblerListing.php | File | 3.85 KB | 0644 |
|
Widget.php | File | 1.12 KB | 0644 |
|
about.tpl.php | File | 553 B | 0644 |
|
depends.php | File | 1.45 KB | 0644 |
|
helpmanager.tpl.php | File | 676 B | 0644 |
|
pager.tpl.php | File | 2.14 KB | 0644 |
|
toolbar.tpl.php | File | 1.04 KB | 0644 |
|
widget_attributeform.tpl.php | File | 3.42 KB | 0644 |
|