summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobin Appelman <robin@icewind.nl>2018-04-11 11:46:36 +0200
committerRobin Appelman <robin@icewind.nl>2018-04-11 11:46:36 +0200
commit15815c034f8f3720208e492713c79df8b0bc6e46 (patch)
treec019a0972a0a52771a1d000c2db5e515cb9ae774
parentb9583c6dceae92bec87392bd9a4dc3fcdb208f4c (diff)
downloadnextcloud-server-15815c034f8f3720208e492713c79df8b0bc6e46.tar.gz
nextcloud-server-15815c034f8f3720208e492713c79df8b0bc6e46.zip
adjust tests to new exception log format
Signed-off-by: Robin Appelman <robin@icewind.nl>
-rw-r--r--apps/dav/tests/unit/Connector/Sabre/ExceptionLoggerPluginTest.php26
-rw-r--r--lib/private/Log.php19
2 files changed, 31 insertions, 14 deletions
diff --git a/apps/dav/tests/unit/Connector/Sabre/ExceptionLoggerPluginTest.php b/apps/dav/tests/unit/Connector/Sabre/ExceptionLoggerPluginTest.php
index ff928ccede4..c1d48a7ce5d 100644
--- a/apps/dav/tests/unit/Connector/Sabre/ExceptionLoggerPluginTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/ExceptionLoggerPluginTest.php
@@ -24,6 +24,7 @@
namespace OCA\DAV\Tests\unit\Connector\Sabre;
+use OC\SystemConfig;
use OCA\DAV\Connector\Sabre\Exception\InvalidPath;
use OCA\DAV\Connector\Sabre\ExceptionLoggerPlugin as PluginToTest;
use OC\Log;
@@ -37,13 +38,9 @@ class TestLogger extends Log {
public $message;
public $level;
- public function __construct($logger = null) {
- //disable original constructor
- }
-
- public function log(int $level, string $message, array $context = array()) {
+ public function writeLog(string $app, $entry, int $level) {
$this->level = $level;
- $this->message = $message;
+ $this->message = $entry;
}
}
@@ -59,8 +56,20 @@ class ExceptionLoggerPluginTest extends TestCase {
private $logger;
private function init() {
+ $config = $this->createMock(SystemConfig::class);
+ $config->expects($this->any())
+ ->method('getValue')
+ ->willReturnCallback(function($key, $default) {
+ switch ($key) {
+ case 'loglevel':
+ return 0;
+ default:
+ return $default;
+ }
+ });
+
$this->server = new Server();
- $this->logger = new TestLogger();
+ $this->logger = new TestLogger(Log\File::class, $config);
$this->plugin = new PluginToTest('unit-test', $this->logger);
$this->plugin->initialize($this->server);
}
@@ -73,7 +82,8 @@ class ExceptionLoggerPluginTest extends TestCase {
$this->plugin->logException($exception);
$this->assertEquals($expectedLogLevel, $this->logger->level);
- $this->assertStringStartsWith('Exception: {"Exception":' . json_encode(get_class($exception)) . ',"Message":"' . $expectedMessage . '",', $this->logger->message);
+ $this->assertEquals(get_class($exception), $this->logger->message['Exception']);
+ $this->assertEquals($expectedMessage, $this->logger->message['Message']);
}
public function providesExceptions() {
diff --git a/lib/private/Log.php b/lib/private/Log.php
index 3f6458bbfab..2c2b7ccb08d 100644
--- a/lib/private/Log.php
+++ b/lib/private/Log.php
@@ -265,7 +265,7 @@ class Log implements ILogger {
$message = strtr($message, $replace);
if ($level >= $minLevel) {
- call_user_func([$this->logger, 'write'], $app, $message, $level);
+ $this->writeLog($app, $message, $level);
}
}
@@ -383,12 +383,10 @@ class Log implements ILogger {
array_walk($context, [$this->normalizer, 'format']);
if ($level >= $minLevel) {
- if ($this->logger === File::class) {
- call_user_func([$this->logger, 'write'], $app, $data, $level);
- } else {
- $entry = json_encode($data, JSON_PARTIAL_OUTPUT_ON_ERROR);
- call_user_func([$this->logger, 'write'], $app, $entry, $level);
+ if ($this->logger !== File::class) {
+ $data = json_encode($data, JSON_PARTIAL_OUTPUT_ON_ERROR);
}
+ $this->writeLog($app, $data, $level);
}
$context['level'] = $level;
@@ -398,6 +396,15 @@ class Log implements ILogger {
}
/**
+ * @param string $app
+ * @param string|array $entry
+ * @param int $level
+ */
+ protected function writeLog(string $app, $entry, int $level) {
+ call_user_func([$this->logger, 'write'], $app, $entry, $level);
+ }
+
+ /**
* @param string $logType
* @return string
* @internal