mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2024-11-15 03:18:26 +00:00
new base class Log/Engine/BaseLog
This commit is contained in:
parent
aab1eb6c37
commit
49bc818d36
4 changed files with 88 additions and 10 deletions
61
lib/Cake/Log/Engine/BaseLog.php
Normal file
61
lib/Cake/Log/Engine/BaseLog.php
Normal file
|
@ -0,0 +1,61 @@
|
|||
<?php
|
||||
/**
|
||||
* Base Log Engine class
|
||||
*
|
||||
* PHP 5
|
||||
*
|
||||
* CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
|
||||
* Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
*
|
||||
* Licensed under The MIT License
|
||||
* Redistributions of files must retain the above copyright notice.
|
||||
*
|
||||
* @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
* @link http://www.cakefoundation.org/projects/info/cakephp CakePHP(tm) Project
|
||||
* @package Cake.Log.Engine
|
||||
* @since CakePHP(tm) v 2.2
|
||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
|
||||
App::uses('CakeLogInterface', 'Log');
|
||||
|
||||
/**
|
||||
* Base log engine class.
|
||||
*
|
||||
* @package Cake.Log.Engine
|
||||
*/
|
||||
abstract class BaseLog implements CakeLogInterface {
|
||||
|
||||
/**
|
||||
* Engine config
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $_config = array();
|
||||
|
||||
/**
|
||||
* __construct method
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct($config = array()) {
|
||||
$this->config($config);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets instance config. When $config is null, returns config array
|
||||
*
|
||||
* @param array $config engine configuration
|
||||
* @return array
|
||||
*/
|
||||
public function config($config = array()) {
|
||||
if (!empty($config)) {
|
||||
if (isset($config['types']) && is_string($config['types'])) {
|
||||
$config['types'] = array($config['types']);
|
||||
}
|
||||
$this->_config = $config;
|
||||
}
|
||||
return $this->_config;
|
||||
}
|
||||
|
||||
}
|
|
@ -17,7 +17,7 @@
|
|||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
|
||||
App::uses('CakeLogInterface', 'Log');
|
||||
App::uses('BaseLog', 'Log/Engine');
|
||||
|
||||
/**
|
||||
* File Storage stream for Logging. Writes logs to different files
|
||||
|
@ -25,7 +25,7 @@ App::uses('CakeLogInterface', 'Log');
|
|||
*
|
||||
* @package Cake.Log.Engine
|
||||
*/
|
||||
class FileLog implements CakeLogInterface {
|
||||
class FileLog extends BaseLog {
|
||||
|
||||
/**
|
||||
* Path to save log files on.
|
||||
|
@ -37,15 +37,25 @@ class FileLog implements CakeLogInterface {
|
|||
/**
|
||||
* Constructs a new File Logger.
|
||||
*
|
||||
* Options
|
||||
* Config
|
||||
*
|
||||
* - `path` the path to save logs on.
|
||||
*
|
||||
* @param array $options Options for the FileLog, see above.
|
||||
*/
|
||||
public function __construct($options = array()) {
|
||||
$options += array('path' => LOGS);
|
||||
$this->_path = $options['path'];
|
||||
public function __construct($config = array()) {
|
||||
parent::__construct($config);
|
||||
$config = Set::merge(array(
|
||||
'path' => LOGS,
|
||||
'file' => null,
|
||||
'types' => null,
|
||||
), $this->_config);
|
||||
$config = $this->config($config);
|
||||
$this->_path = $config['path'];
|
||||
$this->_file = $config['file'];
|
||||
if (!empty($this->_file) && !preg_match('/\.log$/', $this->_file)) {
|
||||
$this->_file .= '.log';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -58,7 +68,9 @@ class FileLog implements CakeLogInterface {
|
|||
public function write($type, $message) {
|
||||
$debugTypes = array('notice', 'info', 'debug');
|
||||
|
||||
if ($type == 'error' || $type == 'warning') {
|
||||
if (!empty($this->_file)) {
|
||||
$filename = $this->_path . $this->_file;
|
||||
} elseif ($type == 'error' || $type == 'warning') {
|
||||
$filename = $this->_path . 'error.log';
|
||||
} elseif (in_array($type, $debugTypes)) {
|
||||
$filename = $this->_path . 'debug.log';
|
||||
|
|
|
@ -17,10 +17,11 @@
|
|||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
|
||||
App::uses('CakeLogInterface', 'Log');
|
||||
App::uses('BaseLog', 'Log/Engine');
|
||||
|
||||
class TestAppLog implements CakeLogInterface {
|
||||
class TestAppLog extends BaseLog {
|
||||
|
||||
public function write($type, $message) {
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -16,8 +16,12 @@
|
|||
* @since CakePHP(tm) v 1.3
|
||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
class TestPluginLog implements CakeLogInterface {
|
||||
|
||||
App::uses('BaseLog', 'Log/Engine');
|
||||
|
||||
class TestPluginLog extends BaseLog {
|
||||
|
||||
public function write($type, $message) {
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue