From 1a4ee701a1d8418b142680d1736d03e6fdb369c9 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 21 Apr 2005 17:55:23 +0000 Subject: [PATCH] =?UTF-8?q?New:=20Possibilit=E9=20de=20logguer=20dans=20un?= =?UTF-8?q?=20fichier=20plutot=20que=20syslog?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- htdocs/includes/modules/modSyslog.class.php | 3 +- htdocs/lib/functions.inc.php | 72 ++++++++++++--------- 2 files changed, 43 insertions(+), 32 deletions(-) diff --git a/htdocs/includes/modules/modSyslog.class.php b/htdocs/includes/modules/modSyslog.class.php index 38594ddeb7c..15392658dc2 100644 --- a/htdocs/includes/modules/modSyslog.class.php +++ b/htdocs/includes/modules/modSyslog.class.php @@ -52,7 +52,7 @@ class modSyslog extends DolibarrModules $this->family = "technic"; $this->name = "Syslog"; - $this->description = "Utilisation de syslog"; + $this->description = "Activation des traces debug (syslog)"; $this->version = '2.0.0'; // 'experimental' or 'dolibarr' or version $this->const_name = "MAIN_MODULE_SYSLOG"; $this->const_config = MAIN_MODULE_SYSLOG; @@ -84,6 +84,7 @@ class modSyslog extends DolibarrModules function init() { $sql = array(); + return $this->_init($sql); } diff --git a/htdocs/lib/functions.inc.php b/htdocs/lib/functions.inc.php index 7640b0e0d41..d17760fe303 100644 --- a/htdocs/lib/functions.inc.php +++ b/htdocs/lib/functions.inc.php @@ -80,41 +80,51 @@ function check_mail ($mail) /** - \brief Envoi des messages dolibarr dans syslog. - \param message message a envoyer a syslog - \param level Niveau de l'erreur - \remarks Cette fonction ne marchera qui si le module est activé - Le message est envoyé dans syslog dans la catégorie LOG_USER. + \brief Envoi des messages dolibarr dans syslog ou dans un fichier + Pour syslog: facility défini par MAIN_SYSLOG_FACILITY + Pour fichier: fichier défini par MAIN_SYSLOG_FILE + \param message message a envoyer a syslog + \param level Niveau de l'erreur + \remarks Cette fonction a un effet que si le module syslog est activé */ function dolibarr_syslog($message, $level=LOG_ERR) { - if (defined("MAIN_MODULE_SYSLOG") && MAIN_MODULE_SYSLOG) + if (defined("MAIN_MODULE_SYSLOG") && MAIN_MODULE_SYSLOG) { - // Warning, les fonctions syslog sont buggués sous Windows et génèrent des - // fautes de protection mémoire. Pour résoudre, désactiver MAIN_DEBUG sous Windows. - define_syslog_variables(); - - if (defined("MAIN_SYSLOG_FACILITY") && MAIN_SYSLOG_FACILITY) - { - $facility = MAIN_SYSLOG_FACILITY; - } - else - { - $facility = LOG_USER; - } - - openlog("dolibarr", LOG_PID | LOG_PERROR, $facility); - - if (! $level) - { - syslog(LOG_ERR, $message); - } - else - { - syslog($level, $message); - } - - closelog(); + if (defined("MAIN_SYSLOG_FILE") && MAIN_SYSLOG_FILE) + { + $file=fopen(MAIN_SYSLOG_FILE,"a+"); + fwrite($file,time()." ".$level." ".$message."\n"); + fclose($file); + } + else + { + // Warning, les fonctions syslog sont buggués sous Windows et génèrent des + // fautes de protection mémoire. Pour résoudre, désactiver MAIN_DEBUG sous Windows. + define_syslog_variables(); + + if (defined("MAIN_SYSLOG_FACILITY") && MAIN_SYSLOG_FACILITY) + { + $facility = MAIN_SYSLOG_FACILITY; + } + else + { + $facility = LOG_USER; + } + + openlog("dolibarr", LOG_PID | LOG_PERROR, $facility); + + if (! $level) + { + syslog(LOG_ERR, $message); + } + else + { + syslog($level, $message); + } + + closelog(); + } } }