// Verwendete Konstante
define("EOL","\r\n");
/*****************************************************************************
* Publicfunktion: Log schreiben. *
* ------------------------------------------------------------------------- *
* Version: 0.120 Status: Alpha Release 3 Edit: 2008-01-03 to 2008-04-07 *
* by C!$C0^211 2007-2008 http://cisco211.de TjSBMD1810@yahoo.de *
*****************************************************************************/
function log_write($input_level,$input_maxlevel,$input_path,
$input_content = "",$input_customlevel = "") {
$file = $input_path."/".date("Y-m-d",time(TRUE)).".log";
//$file = $input_path;
/***** Erstelle neue Logdatei, wenn noch nicht vorhanden ********************/
if ($input_maxlevel > 0) {
$string =
"#############################".EOL.
"# <NAME>-Logfile ".date("Y-m-d",time(TRUE))." #".EOL.
"# ========================= #".EOL.
"# File created at: ".date("H:i:s",time(TRUE))." #".EOL.
"#############################".EOL.EOL;
if (!file_exists($file)) {
if (!$fileheader = fopen($file,"w")) {
$status["int"] = 3;
$status["str"] = "LOG_COULD_NOT_OPEN_FILE";
return $status;
} // if (!$fileheader = fopen($file,"a"))
if (!fwrite($fileheader,$string)) {
$status["int"] = 3;
$status["str"] = "LOG_COULD_NOT_WRITE_FILE";
return $status;
} // if (!$fileheader = fopen($file,"a"))
if (!fclose($fileheader)) {
$status["int"] = 4;
$status["str"] = "LOG_COULD_NOT_CLOSE_FILE";
} // if (!fclose($fileheader))
else {
$status["int"] = 0;
$status["str"] = "LOG_OK";
} // else von if (!fclose($fileheader))
} // if (!file_exists($file))
} // if ($input_maxlevel > 0)
/***** Ordne dem Loglevel eine Wertigkeit zu ********************************/
switch($input_level){
/**** Wert:(OFF) ***********************************************************/
case "off":
$loglevel_int = 0;
$loglevel_str = "";
break;
/**** Wert:ERROR ***********************************************************/
case "error":
$loglevel_int = 1;
$loglevel_str = "ERROR";
break;
/**** Wert:SECURITY ********************************************************/
case "security":
$loglevel_int = 2;
$loglevel_str = "SECURITY";
break;
/**** Wert:WARNING *********************************************************/
case "warning":
$loglevel_int = 3;
$loglevel_str = "WARNING";
break;
/**** Wert:SESSION *********************************************************/
case "session":
$loglevel_int = 4;
$loglevel_str = "SESSION";
break;
/**** Wert:STATUS **********************************************************/
case "status":
$loglevel_int = 5;
$loglevel_str = "STATUS";
break;
/**** Wert:ACCESS **********************************************************/
case "access":
$loglevel_int = 6;
$loglevel_str = "ACCESS";
break;
/**** Wert:CUSTOM1 *********************************************************/
case "custom1":
$loglevel_int = 7;
$loglevel_str = "[C1:".$input_customlevel."]";
break;
/**** Wert:USTOM2 **********************************************************/
case "custom2":
$loglevel_int = 8;
$loglevel_str = "[C2:".$input_customlevel."]";
break;
/**** Wert:DEBUG ***********************************************************/
case "debug":
$loglevel_int = 9;
$loglevel_str = "DEBUG";
break;
/**** Wert:Off *************************************************************/
default: // UNKNOWN
$loglevel_int = 0;
$loglevel_str = "";
break;
} // switch($input_level)
/***** Logeintrag Erstellen *************************************************/
if ($loglevel_int > 0 AND $loglevel_int <= $input_maxlevel) {
/**** Erstelle Log-Zeile ***************************************************/
$string = date("H:i:s",time(TRUE))." ".
$_SERVER["REMOTE_ADDR"]." [".$loglevel_str."]: ".$input_content.EOL;
/**** Oeffne Datei *********************************************************/
if (!$fileheader = fopen($file,"a")){
$status["int"] = 2;
$status["str"] = "LOG_COULD_NOT_OPEN_FILE";
return $status;
} // if (!$fileheader = fopen($file,"a"))
/** Schreibe Datei *********************************************************/
if (!fwrite($fileheader,$string)) {
$status["int"] = 3;
$status["str"] = "LOG_COULD_NOT_WRITE";
return $status;
} // if (!fwrite($fileheader,$string))
/* Schliesze Datei *********************************************************/
if (!fclose($fileheader)) {
$status["int"] = 4;
$status["str"] = "LOG_COULD_NOT_CLOSE_FILE";
} // if (!fclose($fileheader))
else {
$status["int"] = 0;
$status["str"] = "LOG_OK";
} // else von if (!fclose($fileheader))
} // if ($loglevel_int > 0 AND $loglevel_int <= $loglevel)
}