Aggiunta opzione di debug avanzato

This commit is contained in:
Thomas Zilio 2017-09-15 15:52:40 +02:00
parent 20b9869d64
commit 574e779654
3 changed files with 26 additions and 5 deletions

View File

@ -17,7 +17,7 @@ $redirectHTTPS = false;
// Impostazioni di debug
$debug = false;
$strict = false;
$operations_log = false;
// Personalizzazione dei gestori dei tag personalizzati
$HTMLWrapper = null;

View File

@ -38,7 +38,7 @@ if (!empty($redirectHTTPS) && !isHTTPS(true)) {
// $debug = true;
// Logger per la segnalazione degli errori
$logger = new Monolog\Logger(tr('OpenSTAManager'));
$logger = new Monolog\Logger('OpenSTAManager');
$logger->pushProcessor(new Monolog\Processor\UidProcessor());
$logger->pushProcessor(new Monolog\Processor\WebProcessor());
@ -54,9 +54,7 @@ if (!API::isAPIRequest()) {
// Impostazioni di debug
if (!empty($debug)) {
// Ignoramento degli avvertimenti e delle informazioni relative alla deprecazione di componenti
if (empty($strict)) {
error_reporting(E_ALL & ~E_NOTICE & ~E_USER_DEPRECATED);
}
error_reporting(E_ALL & ~E_NOTICE & ~E_USER_DEPRECATED);
// File di log ordinato in base alla data
$handlers[] = new RotatingFileHandler(__DIR__.'/logs/error.log', 0, Monolog\Logger::ERROR);
@ -156,6 +154,17 @@ if (!API::isAPIRequest()) {
// Registrazione globale del template per gli input HTML
register_shutdown_function('translateTemplate');
// Impostazione dei log estesi (per monitorare in modo completo le azioni degli utenti)
if (!empty($operations_log)) {
$operations = $logger->withName('Debug');
$operationsFormatter = new Monolog\Formatter\LineFormatter('[%datetime%] %channel%.%level_name%: %message% %context% %extra%'.PHP_EOL);
$handler = new StreamHandler(__DIR__.'/logs/info.log', Monolog\Logger::INFO);
$operations->pushHandler($handler->setFormatter($operationsFormatter));
}
// Impostazione della sessione di base
$_SESSION['infos'] = array_unique((array) $_SESSION['infos']);
$_SESSION['warnings'] = array_unique((array) $_SESSION['warnings']);

View File

@ -586,6 +586,7 @@ function translateTemplate()
global $id_module;
global $id_record;
global $id_plugin;
global $operations;
$template = ob_get_clean();
@ -595,6 +596,17 @@ function translateTemplate()
$template = str_replace('$id_plugin$', $id_plugin, $template);
$template = str_replace('$id_record$', $id_record, $template);
// Completamento delle informazioni estese sulle azioni dell'utente
if (Auth::check() && !empty($operations) && !empty($_SESSION['infos'])) {
$user = Auth::user();
foreach ($_SESSION['infos'] as $value) {
$operations->addRecord(\Monolog\Logger::INFO, $value, [
'user' => $user['username'],
]);
}
}
// Annullo le notifiche (AJAX)
if (isAjaxRequest()) {
unset($_SESSION['infos']);