From 5e355af586d311ce9a4339fa38ad3073e6376988 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=C3=B3=20Tam=C3=A1s?= Date: Thu, 8 Jan 2015 11:58:02 +0100 Subject: [PATCH 1/3] Handle non-daily log files --- src/Kmd/Logviewer/Logviewer.php | 6 ++++++ src/config/config.php | 23 ++++++++++++---------- src/filters.php | 34 ++++++++++++++++++++++++++++++++- 3 files changed, 52 insertions(+), 11 deletions(-) diff --git a/src/Kmd/Logviewer/Logviewer.php b/src/Kmd/Logviewer/Logviewer.php index 738947a..f4eeea4 100644 --- a/src/Kmd/Logviewer/Logviewer.php +++ b/src/Kmd/Logviewer/Logviewer.php @@ -61,6 +61,12 @@ public function log() $log_file = glob($this->path.'/log-'.$this->sapi.'*-'.$this->date.'.txt'); + // Looking for custom file, if daily $log_file not found + if (empty($log_file)) { + // $this->date contains custom file name + $log_file = array($this->path . '/' . $this->date); + } + if (!empty($log_file)) { $this->empty = false; $file = File::get($log_file[0]); diff --git a/src/config/config.php b/src/config/config.php index 5035ef3..6436baf 100644 --- a/src/config/config.php +++ b/src/config/config.php @@ -2,16 +2,19 @@ return array( - 'base_url' => 'logviewer', - 'filters' => array( - 'global' => array(), - 'view' => array(), - 'delete' => array() + 'base_url' => 'logviewer', + 'filters' => array( + 'global' => array(), + 'view' => array(), + 'delete' => array() ), - 'log_dirs' => array('app' => storage_path().'/logs'), - 'log_order' => 'asc', // Change to 'desc' for the latest entries first - 'per_page' => 10, - 'view' => 'logviewer::viewer', - 'p_view' => 'pagination::slider' + 'log_dirs' => array('app' => storage_path().'/logs'), + 'log_order' => 'desc', // Change to 'desc' for the latest entries first + 'per_page' => 10, + 'view' => 'logviewer::viewer', + 'p_view' => 'pagination::slider', + // Allow to use custom file list or custom file name filtering + 'custom_files' => array(), // custom log files e.g. 'laravel.log' + 'custom_glob_filter' => array(), // custom filter for glob e.g. '*.log' ); diff --git a/src/filters.php b/src/filters.php index 232a12e..3ee4c3c 100644 --- a/src/filters.php +++ b/src/filters.php @@ -5,9 +5,12 @@ if (!Lang::has('logviewer::logviewer.sapi')) { App::setLocale('en'); } + + $dirs = Config::get('logviewer::log_dirs'); + + // List daily files foreach (Lang::get('logviewer::logviewer.sapi') as $sapi => $human) { $logs[$sapi]['sapi'] = $human; - $dirs = Config::get('logviewer::log_dirs'); $files = array(); @@ -23,6 +26,35 @@ } } + // List files from custom list + foreach ($dirs as $app => $dir) { + if (strpos(php_sapi_name(), $sapi) !== false) { + foreach (Config::get('logviewer::custom_files') as $f) { + if (file_exists($dir . '/' . $f) && !in_array(basename($f), $files[$app])) { + $files[$app][] = $f; + } + } + } + } + + // List files from custom file filter + foreach ($dirs as $app => $dir) { + if (strpos(php_sapi_name(), $sapi) !== false) { + foreach (Config::get('logviewer::custom_glob_filter') as $filter) { + $custom_files = array(); + $custom_files[$app] = glob($dir . '/' . $filter, GLOB_BRACE); + + if (is_array($custom_files[$app])) { + foreach ($custom_files[$app] as $f) { + if (file_exists($f) && !in_array(basename($f), $files[$app])) { + $files[$app][] = basename($f); + } + } + } + } + } + } + $logs[$sapi]['logs'] = $files; } From 399508f651bf873f80928a12dbdfc83474112422 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=C3=B3=20Tam=C3=A1s?= Date: Thu, 8 Jan 2015 12:36:31 +0100 Subject: [PATCH 2/3] foreach fix --- src/filters.php | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/src/filters.php b/src/filters.php index 3ee4c3c..80f20ec 100644 --- a/src/filters.php +++ b/src/filters.php @@ -24,28 +24,21 @@ } else { $files[$app] = array(); } - } - // List files from custom list - foreach ($dirs as $app => $dir) { + // List files from custom list if (strpos(php_sapi_name(), $sapi) !== false) { foreach (Config::get('logviewer::custom_files') as $f) { if (file_exists($dir . '/' . $f) && !in_array(basename($f), $files[$app])) { $files[$app][] = $f; } } - } - } - // List files from custom file filter - foreach ($dirs as $app => $dir) { - if (strpos(php_sapi_name(), $sapi) !== false) { + // List files from custom file filter foreach (Config::get('logviewer::custom_glob_filter') as $filter) { - $custom_files = array(); - $custom_files[$app] = glob($dir . '/' . $filter, GLOB_BRACE); + $custom_files = glob($dir . '/' . $filter, GLOB_BRACE); - if (is_array($custom_files[$app])) { - foreach ($custom_files[$app] as $f) { + if (is_array($custom_files)) { + foreach ($custom_files as $f) { if (file_exists($f) && !in_array(basename($f), $files[$app])) { $files[$app][] = basename($f); } From 4128bb7e8bf2ff8b79090e1b13492b7cc1e36419 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=C3=B3=20Tam=C3=A1s?= Date: Thu, 8 Jan 2015 13:42:57 +0100 Subject: [PATCH 3/3] route fix --- src/Kmd/Logviewer/Logviewer.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Kmd/Logviewer/Logviewer.php b/src/Kmd/Logviewer/Logviewer.php index f4eeea4..cfc0f37 100644 --- a/src/Kmd/Logviewer/Logviewer.php +++ b/src/Kmd/Logviewer/Logviewer.php @@ -67,7 +67,7 @@ public function log() $log_file = array($this->path . '/' . $this->date); } - if (!empty($log_file)) { + if (!empty($log_file) && file_exists($log_file[0])) { $this->empty = false; $file = File::get($log_file[0]);