summaryrefslogtreecommitdiffstats
path: root/lib/private/log/owncloud.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/private/log/owncloud.php')
-rw-r--r--lib/private/log/owncloud.php23
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;
+ }
+ }
}
}