From c658f7b94e910fd9620f0976a44d7e57b1cdbcc5 Mon Sep 17 00:00:00 2001 From: stadchenko Date: Wed, 28 Mar 2018 16:27:42 +0300 Subject: [PATCH] fix --- Json_Logger.php | 15 ++++++++++++--- Logger.php | 14 +++++++++----- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/Json_Logger.php b/Json_Logger.php index f20d449..aec1ae8 100644 --- a/Json_Logger.php +++ b/Json_Logger.php @@ -146,11 +146,20 @@ class Harmonious_Json_Logger { throw new RuntimeException("Log directory '$dir' not writable."); } - $data['error_level_int'] = $level; - $data['error_level'] = $this->levels[$level]; + if (is_array($data)) { + $object = $data; + } elseif (is_object($data)) { + $object = (array)$data; + } else { + $object = array(); + $object['text'] = (string)$data; + } + $object['error_level_int'] = $level; + $object['error_level'] = $this->levels[$level]; + $object['time'] = date('c'); if ( $level <= $this->getLevel() ) { - $this->write(json_encode($data)); + $this->write(json_encode($object)."\n"); } } diff --git a/Logger.php b/Logger.php index 3eb609b..56956b9 100644 --- a/Logger.php +++ b/Logger.php @@ -151,11 +151,15 @@ class Harmonious_Logger { throw new RuntimeException("Log directory '$dir' not writable."); } if ( $level <= $this->getLevel() ) { - if (is_string($data)) $message = $data; - elseif (isset($data['message'])) $message = (string)$data['message']; - else { - reset($data); - $message = (string)current($data); + if (is_object($data)) $data = (array)$data; + if (is_array($data)) { + if (isset($data['message'])) $message = (string)$data['message']; + else { + reset($data); + $message = (string)current($data); + } + } else { + $message = (string)$data; } $this->write(sprintf("[%s] %s - %s\r\n", $this->levels[$level], date('c'), $message)); }