diff options
author | Andrey Andreev <narf@devilix.net> | 2015-01-20 11:01:12 +0100 |
---|---|---|
committer | Andrey Andreev <narf@devilix.net> | 2015-01-20 11:01:12 +0100 |
commit | 19c6c3d78e62a0d2dcb40b5aff49838fe3fb76ed (patch) | |
tree | 8e006ce51cc8a42b2e2b3474cecf9c3ebf63fae2 | |
parent | e7068ed2f0459b97346713dc7eb2cd761cb38950 (diff) | |
parent | 53e8303f3f38244aaf7c79848f6bf8f01cfb0d95 (diff) |
Merge pull request #3427 from gadelat/logdate
Support for microseconds in CI_Log
-rw-r--r-- | system/core/Log.php | 15 | ||||
-rw-r--r-- | user_guide_src/source/changelog.rst | 1 |
2 files changed, 15 insertions, 1 deletions
diff --git a/system/core/Log.php b/system/core/Log.php index 7d318ed57..e7a271f4e 100644 --- a/system/core/Log.php +++ b/system/core/Log.php @@ -198,7 +198,20 @@ class CI_Log { return FALSE; } - $message .= $level.' - '.date($this->_date_fmt).' --> '.$msg."\n"; + // Instantiating DateTime with microseconds appended to initial date is needed for proper support of this format + if (strpos($this->_date_fmt, 'u') !== FALSE) + { + $microtime_full = microtime(TRUE); + $microtime_short = sprintf("%06d", ($microtime_full - floor($microtime_full)) * 1000000); + $date = new DateTime(date('Y-m-d H:i:s.'.$microtime_short, $microtime_full)); + $date = $date->format($this->_date_fmt); + } + else + { + $date = date($this->_date_fmt); + } + + $message .= $level.' - '.$date.' --> '.$msg."\n"; flock($fp, LOCK_EX); diff --git a/user_guide_src/source/changelog.rst b/user_guide_src/source/changelog.rst index 7211210d7..73a183b6c 100644 --- a/user_guide_src/source/changelog.rst +++ b/user_guide_src/source/changelog.rst @@ -553,6 +553,7 @@ Release Date: Not Released - Added a ``$config['log_file_permissions']`` setting. - Changed the library constructor to try to create the **log_path** directory if it doesn't exist. + - Added support for microseconds ("u" date format character) in ``$config['log_date_format']``. - Added `compatibility layers <general/compatibility_functions>` for: |