diff --git a/htdocs/lib/functions.inc.php b/htdocs/lib/functions.inc.php index c8e990ed978..06356eb269f 100644 --- a/htdocs/lib/functions.inc.php +++ b/htdocs/lib/functions.inc.php @@ -80,22 +80,41 @@ 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 la constante MAIN_DEBUG = 1 - Le message est envoyé dans syslog dans la catégorie LOG_USER. + \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. */ function dolibarr_syslog($message, $level=LOG_ERR) { - if (defined("MAIN_DEBUG") && MAIN_DEBUG) { - // 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(); - openlog("dolibarr", LOG_PID | LOG_PERROR, LOG_USER); - if (! $level) syslog(LOG_ERR, $message); - else syslog($level, $message); - closelog(); + 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(); } }