Show logs through the web interface
This commit is contained in:
@@ -87,4 +87,38 @@ class Logger {
|
||||
public static function data() {
|
||||
return self::$data;
|
||||
}
|
||||
}
|
||||
|
||||
public static function getLastLogs($offset = null) {
|
||||
$file = Configuration::get('log.file');
|
||||
if(! file_exists($file)) {
|
||||
return 'No log yet !';
|
||||
}
|
||||
|
||||
$f = fopen($file, 'r');
|
||||
|
||||
$len = 1024;
|
||||
|
||||
fseek($f, 0, SEEK_END);
|
||||
$size = ftell($f);
|
||||
if(is_null($offset) || $offset > $size) {
|
||||
$offset = $size - $len;
|
||||
}
|
||||
$offset = max(0, $offset);
|
||||
|
||||
fseek($f, $offset);
|
||||
|
||||
// remove the first line that may be incomplete
|
||||
$buffer = fread($f, $len);
|
||||
$buffer = explode("\n", $buffer);
|
||||
array_shift($buffer);
|
||||
$buffer = implode("\n", $buffer);
|
||||
// continue reading until the end of the file
|
||||
while(! feof($f)) {
|
||||
$buffer .= fread($f, $len);
|
||||
}
|
||||
|
||||
fclose($f);
|
||||
|
||||
return $buffer;
|
||||
}
|
||||
}
|
||||
|
||||
17
Lib/autoloader.php
Normal file
17
Lib/autoloader.php
Normal file
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
ini_set('display_startup_errors', 'On');
|
||||
ini_set('display_errors', 'On');
|
||||
|
||||
// register an autoloader to automatically load classes
|
||||
// the namespace for the class must begin with BSR and
|
||||
// otherwise respect the PSR-4 standard
|
||||
spl_autoload_register(function ($class) {
|
||||
$class = substr($class, strlen('BSR'));
|
||||
$path = sprintf('%s/../%s.php', __DIR__, str_replace('\\', '/', $class));
|
||||
|
||||
if (file_exists($path)) {
|
||||
/** @noinspection PhpIncludeInspection */
|
||||
require $path;
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user