1: <?php
2: /**
3: * Base Log Engine class
4: *
5: * CakePHP(tm) : Rapid Development Framework (https://cakephp.org)
6: * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
7: *
8: * Licensed under The MIT License
9: * For full copyright and license information, please see the LICENSE.txt
10: * Redistributions of files must retain the above copyright notice.
11: *
12: * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
13: * @link http://www.cakefoundation.org/projects/info/cakephp CakePHP(tm) Project
14: * @package Cake.Log.Engine
15: * @since CakePHP(tm) v 2.2
16: * @license https://opensource.org/licenses/mit-license.php MIT License
17: */
18:
19: App::uses('CakeLogInterface', 'Log');
20:
21: /**
22: * Base log engine class.
23: *
24: * @package Cake.Log.Engine
25: */
26: abstract class BaseLog implements CakeLogInterface {
27:
28: /**
29: * Engine config
30: *
31: * @var string
32: */
33: protected $_config = array();
34:
35: /**
36: * Constructor
37: *
38: * @param array $config Configuration array
39: */
40: public function __construct($config = array()) {
41: $this->config($config);
42: }
43:
44: /**
45: * Sets instance config. When $config is null, returns config array
46: *
47: * Config
48: *
49: * - `types` string or array, levels the engine is interested in
50: * - `scopes` string or array, scopes the engine is interested in
51: *
52: * @param array $config engine configuration
53: * @return array
54: */
55: public function config($config = array()) {
56: if (!empty($config)) {
57: foreach (array('types', 'scopes') as $option) {
58: if (isset($config[$option]) && is_string($config[$option])) {
59: $config[$option] = array($config[$option]);
60: }
61: }
62: $this->_config = $config;
63: }
64: return $this->_config;
65: }
66:
67: }
68: