From b1b38597183ed3f5ed520f658735abbfeb090644 Mon Sep 17 00:00:00 2001 From: Enrique Somolinos Date: Mon, 19 Mar 2018 16:53:23 +0100 Subject: [PATCH] adds rotating logs support --- lib/LogFileAccessor.php | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/lib/LogFileAccessor.php b/lib/LogFileAccessor.php index 3d0f53b..c79ea6f 100644 --- a/lib/LogFileAccessor.php +++ b/lib/LogFileAccessor.php @@ -62,8 +62,27 @@ private static function getFilesystem($args) $args['filesystem'] = new Filesystem(new SftpAdapter($config)); break; case 'local': - $args['filesystem'] = new Filesystem(new Local(dirname($args['path']))); - $args['path'] = basename($args['path']); + if($args['filePattern']){ + date_default_timezone_set('Europe/Madrid'); //change to your timezone + $directory = dirname($args['filePattern']).DIRECTORY_SEPARATOR; + $files = scandir($directory); + $files = array_diff($files, array('.', '..')); + foreach($files as $file) { + + if(!preg_match(basename($args['path'], $file) && !is_dir($directory . $file))){ + + $time["$file"] = filemtime($directory . $file); + } + } + array_multisort($time); + end($time); + $first_key = key($time); + $args['filesystem'] = new Filesystem(new Local($directory)); + $args['path'] =$first_key; + }else{ + $args['filesystem'] = new Filesystem(new Local(dirname($args['path']))); + $args['path'] = basename($args['path']); + } break; default: throw new \InvalidArgumentException('Invalid log file type: "'.$args['type'].'"');