Configuration for logging added

This commit is contained in:
Michael 2022-05-18 03:10:38 +00:00
parent 2e6e3597e5
commit 4622814e5f
4 changed files with 18 additions and 4 deletions

View file

@ -719,7 +719,7 @@ class App
} catch (HTTPException $e) {
(new ModuleHTTPException())->rawContent($e);
}
$page->logRuntime();
$page->logRuntime($this->config);
}
/**

View file

@ -98,11 +98,17 @@ class Page implements ArrayAccess
$this->method = $method;
}
public function logRuntime()
public function logRuntime(IManageConfigValues $config)
{
if (in_array($this->command, $config->get('system', 'runtime_ignore'))) {
return;
}
$runtime = number_format(microtime(true) - $this->timestamp, 3);
if ($runtime > $config->get('system', 'runtime_loglimit')) {
Logger::debug('Runtime', ['method' => $this->method, 'command' => $this->command, 'runtime' => $runtime]);
}
}
/**
* Whether a offset exists

View file

@ -369,7 +369,7 @@ class System
*/
public static function exit()
{
DI::page()->logRuntime();
DI::page()->logRuntime(DI::config());
exit();
}

View file

@ -507,6 +507,14 @@ return [
// If enabled, multiple linefeeds in items are stripped to a single one.
'remove_multiplicated_lines' => false,
// runtime_ignore (Array)
// List of ignored commands for the runtime logging.
'runtime_ignore' => [],
// runtime_loglimit (Integer)
// The runtime is logged, When the program execution time is higher than this value.
'runtime_loglimit' => 0,
// sendmail_params (Boolean)
// Normal sendmail command parameters will be added when the PHP mail() function is called for sending e-mails.
// This ensures the Sender Email address setting is applied to the message envelope rather than the host's default address.