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) { } catch (HTTPException $e) {
(new ModuleHTTPException())->rawContent($e); (new ModuleHTTPException())->rawContent($e);
} }
$page->logRuntime(); $page->logRuntime($this->config);
} }
/** /**

View File

@ -98,10 +98,16 @@ class Page implements ArrayAccess
$this->method = $method; $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); $runtime = number_format(microtime(true) - $this->timestamp, 3);
Logger::debug('Runtime', ['method' => $this->method, 'command' => $this->command, 'runtime' => $runtime]); if ($runtime > $config->get('system', 'runtime_loglimit')) {
Logger::debug('Runtime', ['method' => $this->method, 'command' => $this->command, 'runtime' => $runtime]);
}
} }
/** /**

View File

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

View File

@ -507,6 +507,14 @@ return [
// If enabled, multiple linefeeds in items are stripped to a single one. // If enabled, multiple linefeeds in items are stripped to a single one.
'remove_multiplicated_lines' => false, '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) // sendmail_params (Boolean)
// Normal sendmail command parameters will be added when the PHP mail() function is called for sending e-mails. // 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. // This ensures the Sender Email address setting is applied to the message envelope rather than the host's default address.