_MAX_LOG OR !$nombre_de_logs OR !$taille_des_logs )) return; $logfile = ($logdir===NULL ? _DIR_LOG : $logdir) . (test_espace_prive()?'prive_':'') //distinguer les logs prives et publics . ($logname) . ($logsuf===NULL ? _FILE_LOG_SUFFIX : $logsuf); // si spip_log() dans mes_options, poser dans spip.log if (!defined('_DIR_LOG')) $logfile = _DIR_RACINE._NOM_TEMPORAIRES_INACCESSIBLES.$logname.'.log'; $rotate = 0; $pid = '(pid '.@getmypid().')'; // accepter spip_log( Array ) if (!is_string($message)) $message = var_export($message, true); $m = date("M d H:i:s").' '.$GLOBALS['ip'].' '.$pid.' ' .preg_replace("/\n*$/", "\n", $message); if (@is_readable($logfile) AND (!$s = @filesize($logfile) OR $s > $taille_des_logs * 1024)) { $rotate = $nombre_de_logs; $m .= "[-- rotate --]\n"; } $f = @fopen($logfile, "ab"); if ($f) { fputs($f, ($logname!==NULL) ? $m : str_replace('<','<',$m)); fclose($f); } if ($rotate-- > 0 AND function_exists('spip_unlink')) { spip_unlink($logfile . '.' . $rotate); while ($rotate--) { @rename($logfile . ($rotate ? '.' . $rotate : ''), $logfile . '.' . ($rotate + 1)); } } // Dupliquer les erreurs specifiques dans le log general if ($logname !== _FILE_LOG AND defined('_FILE_LOG')) inc_log_dist($logname=='maj' ? 'cf maj.log' : $message); } ?>