From 7980bccaabcaa27fe9c6db8a49a6e4a8dc4bd3fe Mon Sep 17 00:00:00 2001 From: Michael Gapczynski Date: Sun, 16 Dec 2012 19:43:32 -0500 Subject: [PATCH] Fall back to default log file if logfile config file not found, suppress writing errors, fixes issue #826 --- lib/log/owncloud.php | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/lib/log/owncloud.php b/lib/log/owncloud.php index ec43208d83..e53dd5fefc 100644 --- a/lib/log/owncloud.php +++ b/lib/log/owncloud.php @@ -33,8 +33,11 @@ class OC_Log_Owncloud { * Init class data */ public static function init() { - $datadir=OC_Config::getValue( "datadirectory", OC::$SERVERROOT.'/data' ); - self::$logFile=OC_Config::getValue( "logfile", $datadir.'/owncloud.log' ); + $defaultLogFile = OC_Config::getValue("datadirectory", OC::$SERVERROOT.'/data').'/owncloud.log'; + self::$logFile = OC_Config::getValue("logfile", $defaultLogFile); + if (!file_exists(self::$logFile)) { + self::$logFile = $defaultLogFile; + } } /** @@ -47,9 +50,11 @@ class OC_Log_Owncloud { $minLevel=min(OC_Config::getValue( "loglevel", OC_Log::WARN ), OC_Log::ERROR); if($level>=$minLevel) { $entry=array('app'=>$app, 'message'=>$message, 'level'=>$level, 'time'=>time()); - $fh=fopen(self::$logFile, 'a'); - fwrite($fh, json_encode($entry)."\n"); - fclose($fh); + $handle = @fopen(self::$logFile, 'a'); + if ($handle) { + fwrite($handle, json_encode($entry)."\n"); + fclose($handle); + } } }