PHP Classes

File: docs/files/Stream/Strategy/AbstractDatabaseLoggerStrategy.php.txt

Recommend this page to a friend!
  Classes of Kiril Savchev   ITE Logger   docs/files/Stream/Strategy/AbstractDatabaseLoggerStrategy.php.txt   Download  
File: docs/files/Stream/Strategy/AbstractDatabaseLoggerStrategy.php.txt
Role: Documentation
Content type: text/plain
Description: Documentation
Class: ITE Logger
Log messages to different storage PSR-3 compliant
Author: By
Last change:
Date: 7 years ago
Size: 2,406 bytes
 

Contents

Class file image Download
<?php /** * AbstractDatabaseLoggerStrategy file * * Copyright (c) 2016, Kiril Savchev * All rights reserved. * * @category Libs * @package Logger * * @author Kiril Savchev <k.savchev@gmail.com> * * @license https://opensource.org/licenses/BSD-3-Clause BSD 3 License * @link http://ifthenelse.info */ namespace Ite\Logger\Stream\Strategy; use Ite\Logger\AbstractDatabaseLogger; use Ite\Logger\Exception\InvalidArgumentException; use Psr\Log\LoggerInterface; /** * AbstractDatabaseLoggerStrategy * * Simple strategy for descendant of AbstractDatabaseLogger * * @uses psr\log * * @version 1.0 * * @author Kiril Savchev <k.savchev@gmail.com> */ class AbstractDatabaseLoggerStrategy implements StreamLoggerStrategyInterface { /** * Prepare the logger before using * * @param LoggerInterface $logger * @param array $options * @throw \Ite\Logger\Exception\InvalidArgumentException If logger is not the desired class instance */ public function prepareLogger(LoggerInterface $logger, array $options) { if (!($logger instanceof AbstractDatabaseLogger)) { throw new InvalidArgumentException("Invalid logger type"); } $query = $options['query']; $level = $options['path']; $config = []; if (array_key_exists('table', $query)) { $config['table'] = $query['table']; } if (array_key_exists('messageField', $query)) { $config['messageField'] = $query['messageField']; } if (array_key_exists('dateField', $query)) { $config['dateField'] = $query['dateField']; } if (array_key_exists('contextField', $query)) { $config['contextField'] = $query['contextField']; } if (array_key_exists('levelField', $query)) { $config['levelField'] = $query['levelField']; } if (array_key_exists('prepared', $query)) { $config['prepared'] = (bool) $query['prepared']; } if ($config) { $logger->setTableConfigs([$level => $config]); } } }