summaryrefslogtreecommitdiffstats
path: root/lib/private/Log.php
diff options
context:
space:
mode:
authorRobin Appelman <robin@icewind.nl>2022-03-14 17:12:53 +0100
committerRobin Appelman <robin@icewind.nl>2022-03-14 17:12:53 +0100
commit74f64fa3eba96c232b71af21ef0fd0b97e0ebf56 (patch)
tree24908c2aadb856600840caa53bc3e99dc5304a56 /lib/private/Log.php
parentee2f3bcaf169599df54a534430121a658306cdc7 (diff)
downloadnextcloud-server-74f64fa3eba96c232b71af21ef0fd0b97e0ebf56.tar.gz
nextcloud-server-74f64fa3eba96c232b71af21ef0fd0b97e0ebf56.zip
don't error if we can't load the ExceptionSerializer for early exceptions
Signed-off-by: Robin Appelman <robin@icewind.nl>
Diffstat (limited to 'lib/private/Log.php')
-rw-r--r--lib/private/Log.php8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/private/Log.php b/lib/private/Log.php
index 6ccf467dc8a..0415967f0f0 100644
--- a/lib/private/Log.php
+++ b/lib/private/Log.php
@@ -308,7 +308,13 @@ class Log implements ILogger, IDataLogger {
$app = $context['app'] ?? 'no app in context';
$level = $context['level'] ?? ILogger::ERROR;
- $serializer = new ExceptionSerializer($this->config);
+ // if an error is raised before the autoloader is properly setup, we can't serialize exceptions
+ try {
+ $serializer = new ExceptionSerializer($this->config);
+ } catch (\Throwable $e) {
+ $this->error("Failed to load ExceptionSerializer serializer while trying to log " . $exception->getMessage());
+ return;
+ }
$data = $serializer->serializeException($exception);
$data['CustomMessage'] = $this->interpolateMessage($context, $context['message'] ?? '--');