Bonjour,
Je viens de créer un systeme de logs(journaux) afin d'enregistrer pas mal de données d'action et erreurs qui se sont déroulés.
Je viens vous l'exposer pour avoir votre avis:
Je viens de créer un systeme de logs(journaux) afin d'enregistrer pas mal de données d'action et erreurs qui se sont déroulés.
Je viens vous l'exposer pour avoir votre avis:
Code PHP :
<?php
function log_save($action, $type = 0, $user = 'N/A', $data= 'N/A', $file = 'N/A', $line = 'N/A', $other = 'N/A', $filename = 0) {
global $ugamela_root_path;
$logname = array(0 => 'error', 1 => 'log', 2 => 'admin');
$logpath = array(0 => 'error_logs', 1 => 'common_logs', 2 => 'admin_logs');
$filename = $ugamela_root_path."logs/".$logpath[$type].(($filename) ? $filename : $logname[$type]."_".$user['id']."_".date_fr("Y-m-d").".txt");
$log = array();
$log['time'] = time();
$log['action'] = $action;
$log['SERVER'] = $_SERVER;
$log['user'] = $user;
$log['data'] = $data;
$log['file'] = $file;
$log['line'] = $line;
$log['other'] = $other;
$log = json_encode($log);
return file_add($log, $filename);
//Exemple d'utilisation:
log_save(1, ERROR, $user, $planet_tab, __FILE__, __LINE__);
}
Ce système supporte 3 types différents: les actions communes(normales), les actions administratives et les erreurs, ils ont chacun leur dossier.
$ugamela_root_path étant le chemin vers la racine et logs le dossier contenant les dossiers de logs.
file_add() ajoute les données au fichier donné.
Ce système utilise la méthode JSON.