summaryrefslogtreecommitdiffstats
path: root/lib/private
diff options
context:
space:
mode:
authorLukas Reschke <lukas@statuscode.ch>2014-05-07 15:05:17 +0200
committerLukas Reschke <lukas@statuscode.ch>2014-05-07 15:05:17 +0200
commit254fa5eb22efa5ba572702064377a6ad9eec9a53 (patch)
tree5c71f30790f943dae3675d6fc4b5b28efce45651 /lib/private
parent75d81eefc1e70fca0cd72202e5eaede254df94e3 (diff)
parent4a493c8835b606e9c2b74f275cb8c471adb5fa06 (diff)
downloadnextcloud-server-254fa5eb22efa5ba572702064377a6ad9eec9a53.tar.gz
nextcloud-server-254fa5eb22efa5ba572702064377a6ad9eec9a53.zip
Merge pull request #8488 from owncloud/sabre-notfoundloglevel
Some expected Sabre exceptions are now logged with DEBUG level
Diffstat (limited to 'lib/private')
-rw-r--r--lib/private/connector/sabre/exceptionloggerplugin.php17
1 files changed, 15 insertions, 2 deletions
diff --git a/lib/private/connector/sabre/exceptionloggerplugin.php b/lib/private/connector/sabre/exceptionloggerplugin.php
index 8e77afaf207..5eaf1e87621 100644
--- a/lib/private/connector/sabre/exceptionloggerplugin.php
+++ b/lib/private/connector/sabre/exceptionloggerplugin.php
@@ -11,6 +11,17 @@
class OC_Connector_Sabre_ExceptionLoggerPlugin extends Sabre_DAV_ServerPlugin
{
+ private $nonFatalExceptions = array(
+ 'Sabre_DAV_Exception_NotAuthenticated' => true,
+ // the sync client uses this to find out whether files exist,
+ // so it is not always an error, log it as debug
+ 'Sabre_DAV_Exception_NotFound' => true,
+ // this one mostly happens when the same file is uploaded at
+ // exactly the same time from two clients, only one client
+ // wins, the second one gets "Precondition failed"
+ 'Sabre_DAV_Exception_PreconditionFailed' => true,
+ );
+
private $appName;
/**
@@ -43,8 +54,10 @@ class OC_Connector_Sabre_ExceptionLoggerPlugin extends Sabre_DAV_ServerPlugin
*/
public function logException($e) {
$exceptionClass = get_class($e);
- if ($exceptionClass !== 'Sabre_DAV_Exception_NotAuthenticated') {
- \OCP\Util::logException($this->appName, $e);
+ $level = \OCP\Util::FATAL;
+ if (isset($this->nonFatalExceptions[$exceptionClass])) {
+ $level = \OCP\Util::DEBUG;
}
+ \OCP\Util::logException($this->appName, $e, $level);
}
}