Кроссплатформенный открытый движок на Java, позволяющий создавать 2D и 3D игры под различные платформы, среди которых: Android, HTML5, Windows, Linux, iOS.
Поддержи проект!
Рекомендуем
Блог разработчика
Главная » 2014 » Май » 1 » Простейший набор функций журналирования
9:14 PM
Простейший набор функций журналирования
$LOG_FILE_NAME = 'my.log';
$LOGFILE = '../' . $LOG_FILE_NAME;
$LOG = 1; // Set to "0" to disable logging
$LOG_DEBUG = 1; // Set to "0" to disable additional debug logging
$LOGFILEHANDLE = 0;
$MAXLOGSIZE = "4000000";
function logline ($msg) {
log_line_to_file(0, $msg);
}
function logdebug($msg) {
log_line_to_file(1, $msg);
}
function log_line_to_file ($debug, $msg) {
global $LOG, $LOG_DEBUG, $MAXLOGSIZE, $LOGFILE, $LOGFILEHANDLE;
if ($LOG && ((! $debug) || $LOG_DEBUG)) {
$LOGFILEHANDLE=fopen ($LOGFILE, "a");
if ($LOGFILEHANDLE) {
fwrite ($LOGFILEHANDLE, date("d.m.Y H:i:s")." - $msg\r\n");
$lstat=fstat($LOGFILEHANDLE);
if ($lstat["size"]>$MAXLOGSIZE) rotatelog();
fclose($LOGFILEHANDLE);
}
}
}
function rotatelog() {
global $LOG, $MAXLOGSIZE, $LOGFILE, $LOGFILEHANDLE;
if ($LOG) {
fwrite ($LOGFILEHANDLE, date("d.m.Y H:i:s")." - Logfile reached maximum size ($MAXLOGSIZE)- rotating.\r\n");
fclose ($LOGFILEHANDLE);
rename ($LOGFILE, substr_replace($LOGFILE,md5(microtime()),-3).".log");
$LOGFILEHANDLE=fopen ($LOGFILE, "a");
if (!$LOGFILEHANDLE)
$LOG=0;
else
fwrite ($LOGFILEHANDLE, date("d.m.Y H:i:s")." - Opening new Logfile.\r\n");
}
}
logline("Connected to remote server");
logdebug("Debug test");