diff options
Diffstat (limited to 'lib/private/log/owncloud.php')
-rw-r--r-- | lib/private/log/owncloud.php | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/lib/private/log/owncloud.php b/lib/private/log/owncloud.php index f9ce671aa93..dabf95d7616 100644 --- a/lib/private/log/owncloud.php +++ b/lib/private/log/owncloud.php @@ -43,17 +43,18 @@ class OC_Log_Owncloud { $defaultLogFile = $systemConfig->getValue("datadirectory", OC::$SERVERROOT.'/data').'/owncloud.log'; self::$logFile = $systemConfig->getValue("logfile", $defaultLogFile); - /* - * Fall back to default log file if specified logfile does not exist - * and can not be created. Error suppression is required in order to - * not end up in the error handler which will try to log the error. - * A better solution (compared to error suppression) would be checking - * !is_writable(dirname(self::$logFile)) before touch(), but - * is_writable() on directories used to be pretty unreliable on Windows - * for at least some time. - */ - if (!file_exists(self::$logFile) && !@touch(self::$logFile)) { - self::$logFile = $defaultLogFile; + /** + * Fall back to default log file if specified logfile does not exist + * and can not be created. + */ + if (!file_exists(self::$logFile)) { + if(!is_writable(dirname(self::$logFile))) { + self::$logFile = $defaultLogFile; + } else { + if(!touch(self::$logFile)) { + self::$logFile = $defaultLogFile; + } + } } } |