New: Possibilit de logguer dans un fichier plutot que syslog

This commit is contained in:
Laurent Destailleur
2005-04-21 17:55:23 +00:00
parent 9788b81157
commit 1a4ee701a1
2 changed files with 43 additions and 32 deletions

View File

@@ -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<69>
Le message est envoy<6F> dans syslog dans la cat<61>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<69>
*/
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<67>s sous Windows et g<>n<EFBFBD>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<67>s sous Windows et g<>n<EFBFBD>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();
}
}
}