PHP Classes
elePHPant
Icontem

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

Recommend this page to a friend!
  Classes of Kiril Savchev  >  ITE Logger  >  docs/files/Stream/Strategy/FileLoggerStrategy.php.txt  >  Download  
File: docs/files/Stream/Strategy/FileLoggerStrategy.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: 3 years ago
Size: 1,399 bytes
 

 

Contents

Class file image Download
<?php

/**
 * FileLoggerStrategy 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\Exception\InvalidArgumentException;
use Ite\Logger\FileLogger;
use Psr\Log\LoggerInterface;

/**
 * FileLoggerStrategy
 *
 * Simple strategy preparation for FileLoggers
 *
 * @uses psr\log
 *
 * @version 1.0
 *
 * @author Kiril Savchev <k.savchev@gmail.com>
 */
class FileLoggerStrategy 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 FileLogger)) {
                        throw new InvalidArgumentException("Invalid logger type");
                }
                /* @var $logger \Ite\Logger\FileLogger */
                if (array_key_exists('log', $options)) {
                        $logger->setDefaultLog($options['log']);
                }
        }

}