This commit is contained in:
Manish Verma
2016-12-13 18:18:25 +05:30
parent fc98add11c
commit 2d8e640e9b
2314 changed files with 97798 additions and 75664 deletions

View File

@@ -8,32 +8,33 @@ use ReflectionClass;
use UTC;
/**
* Class LaravelLogViewer.
* Class LaravelLogViewer
* @package Rap2hpoutre\LaravelLogViewer
*/
class LaravelLogViewer
{
class LaravelLogViewer {
/**
* @var string file
*/
private static $file;
private static $levels_classes = [
'debug' => 'info',
'info' => 'info',
'notice' => 'info',
'warning' => 'warning',
'error' => 'danger',
'critical' => 'danger',
'alert' => 'danger',
'debug' => 'info',
'info' => 'info',
'notice' => 'info',
'warning' => 'warning',
'error' => 'danger',
'critical' => 'danger',
'alert' => 'danger',
'emergency' => 'danger',
];
private static $levels_imgs = [
'debug' => 'info',
'info' => 'info',
'notice' => 'info',
'warning' => 'warning',
'error' => 'warning',
'critical' => 'warning',
'alert' => 'warning',
'debug' => 'info',
'info' => 'info',
'notice' => 'info',
'warning' => 'warning',
'error' => 'warning',
'critical' => 'warning',
'alert' => 'warning',
'emergency' => 'warning',
];
@@ -42,8 +43,7 @@ class LaravelLogViewer
/**
* @param string $file
*/
public static function setFile($file)
{
public static function setFile($file) {
$file = self::pathToLogFile($file);
if (File::exists($file)) {
@@ -51,15 +51,14 @@ class LaravelLogViewer
}
}
public static function pathToLogFile($file)
{
public static function pathToLogFile($file) {
$logsPath = storage_path('logs');
if (File::exists($file)) { // try the absolute path
return $file;
}
$file = $logsPath.'/'.$file;
$file = $logsPath . '/' . $file;
// check if requested file is really in the logs directory
if (dirname($file) !== $logsPath) {
@@ -72,17 +71,15 @@ class LaravelLogViewer
/**
* @return string
*/
public static function getFileName()
{
public static function getFileName() {
return basename(self::$file);
}
/**
* @return array
*/
public static function all()
{
$log = [];
public static function all() {
$log = array();
$log_levels = self::getLogLevels();
@@ -96,17 +93,15 @@ class LaravelLogViewer
self::$file = $log_file[0];
}
if (File::size(self::$file) > self::MAX_FILE_SIZE) {
return;
}
if (File::size(self::$file) > self::MAX_FILE_SIZE)
return null;
$file = File::get(self::$file);
preg_match_all($pattern, $file, $headings);
if (!is_array($headings)) {
if (!is_array($headings))
return $log;
}
$log_data = preg_split($pattern, $file);
@@ -117,38 +112,38 @@ class LaravelLogViewer
foreach ($headings as $h) {
for ($i = 0, $j = count($h); $i < $j; $i++) {
foreach ($log_levels as $level_key => $level_value) {
if (strpos(strtolower($h[$i]), '.'.$level_value)) {
preg_match('/^\[(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})\].*?(\w+)\.'.$level_key.': (.*?)( in .*?:[0-9]+)?$/', $h[$i], $current);
if (strpos(strtolower($h[$i]), '.' . $level_value)) {
if (!isset($current[3])) {
preg_match('/^\[(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})\].*?(\w+)\.' . $level_key . ': (.*?)( in .*?:[0-9]+)?$/', $h[$i], $current);
if (!isset($current[3]))
continue;
}
$array = explode(':-:-:-', $current[3]);
$message = $current[3];
$context = $current[2];
if (is_array($array)) {
if (array_key_exists(0, $array)) {
$message = $array[0];
}
if (array_key_exists(1, $array)) {
$context = $array[1];
} else {
}else{
$context = $current[2];
}
}
//dd($current);
$log[] = [
'context' => $context,
'level' => $level_value,
$log[] = array(
'context' => $context,
'level' => $level_value,
'level_class' => self::$levels_classes[$level_value],
'level_img' => self::$levels_imgs[$level_value],
'date' => self::date($current[1]),
'text' => $message,
'in_file' => isset($current[4]) ? $current[4] : null,
'stack' => preg_replace("/^\n*/", '', $log_data[$i]),
];
'level_img' => self::$levels_imgs[$level_value],
'date' => self::date($current[1]),
'text' => $message,
'in_file' => isset($current[4]) ? $current[4] : null,
'stack' => preg_replace("/^\n*/", '', $log_data[$i])
);
}
}
}
@@ -159,12 +154,10 @@ class LaravelLogViewer
/**
* @param bool $basename
*
* @return array
*/
public static function getFiles($basename = false)
{
$files = glob(storage_path().'/logs/*');
public static function getFiles($basename = false) {
$files = glob(storage_path() . '/logs/*');
$files = array_reverse($files);
$files = array_filter($files, 'is_file');
if ($basename && is_array($files)) {
@@ -172,24 +165,20 @@ class LaravelLogViewer
$files[$k] = basename($file);
}
}
return array_values($files);
}
/**
* @return array
*/
private static function getLogLevels()
{
$class = new ReflectionClass(new LogLevel());
private static function getLogLevels() {
$class = new ReflectionClass(new LogLevel);
return $class->getConstants();
}
public static function date($utc)
{
public static function date($utc) {
$system_date = UTC::usertimezone($utc);
return $system_date;
}
}