From 39eebebd9994f38641070da4a79bc5110472ba12 Mon Sep 17 00:00:00 2001
From: Michael Gapczynski <mtgap@owncloud.com>
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);
+			}
 		}
 	}
 
-- 
GitLab