From d15f862ff45a326ac45f23098867ff9a1b7702e8 Mon Sep 17 00:00:00 2001 From: Chris Hallberg <crhallberg@gmail.com> Date: Tue, 6 Sep 2016 10:13:58 -0400 Subject: [PATCH] Add forgotten Verbosity Trait. Sorry for the broken long weekend. --- .../src/VuFind/Log/Writer/VerbosityTrait.php | 75 +++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 module/VuFind/src/VuFind/Log/Writer/VerbosityTrait.php diff --git a/module/VuFind/src/VuFind/Log/Writer/VerbosityTrait.php b/module/VuFind/src/VuFind/Log/Writer/VerbosityTrait.php new file mode 100644 index 00000000000..8f9ec02ecb0 --- /dev/null +++ b/module/VuFind/src/VuFind/Log/Writer/VerbosityTrait.php @@ -0,0 +1,75 @@ +<?php +/** + * Trait to add configurable verbosity settings to loggers + * + * PHP version 5 + * + * Copyright (C) Villanova University 2016. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * @category VuFind + * @package View_Helpers + * @author Demian Katz <demian.katz@villanova.edu> + * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License + * @link https://vufind.org/wiki/development:testing:unit_tests Wiki + */ +namespace VuFind\Log\Writer; + +/** + * Trait to add configurable verbosity settings to loggers + * + * @category VuFind + * @package View_Helpers + * @author Demian Katz <demian.katz@villanova.edu> + * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License + * @link https://vufind.org/wiki/development:testing:unit_tests Wiki + */ +trait VerbosityTrait +{ + /** + * Holds the verbosity level + * + * @var int + */ + protected $verbosity = 1; + + /** + * Set verbosity + * + * @param integer $verb verbosity setting + * + * @return void + */ + public function setVerbosity($verb) + { + $this->verbosity = $verb; + } + + /** + * Apply verbosity setting to message. + * + * @param array $event event data + * + * @return array + */ + protected function applyVerbosity(array $event) + { + // Apply verbosity filter: + if (is_array($event['message'])) { + $event['message'] = $event['message'][$this->verbosity]; + } + return $event; + } +} -- GitLab