partstock/includes/log.php

60 lines
1.5 KiB
PHP
Raw Permalink Normal View History

2018-12-17 17:50:23 +01:00
<?php
$LogLineArray = array();
$LogFirstLineWritten = 0;
function ErrorLog ($Msg)
{
global $LogLineArray;
global $LogFirstLineWritten;
$LogFirstLineWritten = 1;
$LogLineArray[count($LogLineArray)]=LogFormatMessage($Msg);
$Dbg=debug_backtrace();
for ($i=0; $i<count($Dbg);$i++) $LogLineArray[count($LogLineArray)]= " - (Callstack $i) ".$Dbg[$i]['file'].":".$Dbg[$i]['line']."\n";
}
function LogWriteToFile ()
{
global $LogLineArray;
global $GlobalLogfile;
global $LogFirstLineWritten;
global $GlobalLogfileMaxLength;
if ($GlobalLogfile && $LogFirstLineWritten)
{
//read existing file
$ExistingFileArray=array();
if (file_exists($GlobalLogfile))
$ExistingFileArray=file($GlobalLogfile);
//merge both line arrays
$ExistingFileArray[count($ExistingFileArray)]="\n";
foreach ($LogLineArray as $x)
$ExistingFileArray[count($ExistingFileArray)]=$x;
//save to file
$FileHandler=fopen($GlobalLogfile,'w');
$Length=count($ExistingFileArray);
for ($i= (($Length>$GlobalLogfileMaxLength) ? $Length-$GlobalLogfileMaxLength:0); $i<$Length;$i++)
fputs($FileHandler,$ExistingFileArray[$i]);
fclose($FileHandler);
}
}
function LogClose ()
{
LogWriteToFile();
}
function LogFormatMessage ($Msg)
{
global $GlobalTimeZone;
global $GlobalTimeFormat;
date_default_timezone_set($GlobalTimeZone);
$NewMsg = "";
$NewMsg .= "[".date($GlobalTimeFormat,time())."]";
$NewMsg .= $Msg . "\n";
return $NewMsg;
}
?>