New: Possibilit de logguer dans un fichier plutot que syslog
This commit is contained in:
parent
9788b81157
commit
1a4ee701a1
@ -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);
|
||||
|
||||
}
|
||||
|
||||
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user