. * */ /** *logging utilities * * Log is saved at data/owncloud.log (on default) */ class OC_Log{ const DEBUG=0; const INFO=1; const WARN=2; const ERROR=3; const FATAL=4; /** * write a message in the log * @param string $app * @param string $message * @param int level */ public static function write($app,$message,$level){ $minLevel=OC_Config::getValue( "loglevel", 2 ); if($level>=$minLevel){ $datadir=OC_Config::getValue( "datadirectory", OC::$SERVERROOT.'/data' ); $logFile=OC_Config::getValue( "logfile", $datadir.'/owncloud.log' ); $entry=array('app'=>$app,'message'=>$message,'level'=>$level,'time'=>time()); $fh=fopen($logFile,'a'); fwrite($fh,json_encode($entry)."\n"); fclose($fh); } } public static function getEntries(){ $datadir=OC_Config::getValue( "datadirectory", OC::$SERVERROOT.'/data' ); $logFile=OC_Config::getValue( "logfile", $datadir.'/owncloud.log' ); $entries=array(); if(!file_exists($logFile)){ return array(); } $fh=fopen($logFile,'r'); if($fh === false){ // Unable to read log file! return array(); } while(!feof($fh)){ $line=fgets($fh); if($line){ $entries[]=json_decode($line); } } fclose($fh); return $entries; } }