diff options
author | Phil Sturgeon <email@philsturgeon.co.uk> | 2011-08-21 23:48:35 +0200 |
---|---|---|
committer | Phil Sturgeon <email@philsturgeon.co.uk> | 2011-08-21 23:48:35 +0200 |
commit | d66affd7e518ac4dd21c77e5344680c5217ff5e5 (patch) | |
tree | c0ee437ec6e18ff7809ed02cc1922207985bb8a1 /system/libraries/Log.php | |
parent | 60051f273a4f34f679e7d2627dc7af7f130ac102 (diff) | |
parent | 333f9f98edeb11915c168ea4a05b9b76d64d9576 (diff) |
Merge pull request #253 from chonthu/develop
added ability to log certain error types, not all under a threshold
Diffstat (limited to 'system/libraries/Log.php')
-rw-r--r-- | system/libraries/Log.php | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/system/libraries/Log.php b/system/libraries/Log.php index 9f1db76ba..bf10d4727 100644 --- a/system/libraries/Log.php +++ b/system/libraries/Log.php @@ -27,10 +27,12 @@ class CI_Log { protected $_log_path; - protected $_threshold = 1; - protected $_date_fmt = 'Y-m-d H:i:s'; - protected $_enabled = TRUE; - protected $_levels = array('ERROR' => '1', 'DEBUG' => '2', 'INFO' => '3', 'ALL' => '4'); + protected $_threshold = 1; + protected $_threshold_max = 0; + protected $_threshold_array = array(); + protected $_date_fmt = 'Y-m-d H:i:s'; + protected $_enabled = TRUE; + protected $_levels = array('ERROR' => '1', 'DEBUG' => '2', 'INFO' => '3', 'ALL' => '4'); /** * Constructor @@ -50,6 +52,11 @@ class CI_Log { { $this->_threshold = $config['log_threshold']; } + elseif (is_array($config['log_threshold'])) + { + $this->_threshold = $this->_threshold_max; + $this->_threshold_array = array_flip($config['log_threshold']); + } if ($config['log_date_format'] != '') { @@ -80,9 +87,13 @@ class CI_Log { if ( ! isset($this->_levels[$level]) OR ($this->_levels[$level] > $this->_threshold)) { - return FALSE; + if (empty($this->_threshold_array) OR ! isset($this->_threshold_array[$this->_levels[$level]])) + { + return FALSE; + } } + $filepath = $this->_log_path.'log-'.date('Y-m-d').'.php'; $message = ''; |