aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorChristoph Wurst <ChristophWurst@users.noreply.github.com>2023-01-25 19:32:38 +0100
committerGitHub <noreply@github.com>2023-01-25 19:32:38 +0100
commite33fec6c44f9772c1e8b44bc236a0df33d35f69b (patch)
tree2295c9520f24cd4c41e5bffa5e72234e1392f1fc /lib
parentb3d231591648c44fe42d85a91f1da2a0a5b45035 (diff)
parent0e56c19f8db7de9fa81af25f9b7e275a8421a1f4 (diff)
downloadnextcloud-server-e33fec6c44f9772c1e8b44bc236a0df33d35f69b.tar.gz
nextcloud-server-e33fec6c44f9772c1e8b44bc236a0df33d35f69b.zip
Merge pull request #35821 from nextcloud/backport/35614/stable25
[stable25] Fix array to string conversion in errorlog writer
Diffstat (limited to 'lib')
-rw-r--r--lib/private/Log/Errorlog.php13
-rw-r--r--lib/private/Log/LogFactory.php4
-rw-r--r--lib/private/Log/Syslog.php2
-rw-r--r--lib/private/Log/Systemdlog.php2
-rw-r--r--lib/public/Log/IWriter.php4
5 files changed, 16 insertions, 9 deletions
diff --git a/lib/private/Log/Errorlog.php b/lib/private/Log/Errorlog.php
index d27759d7050..4eb269f093d 100644
--- a/lib/private/Log/Errorlog.php
+++ b/lib/private/Log/Errorlog.php
@@ -25,24 +25,27 @@
namespace OC\Log;
+use OC\SystemConfig;
use OCP\Log\IWriter;
-class Errorlog implements IWriter {
+class Errorlog extends LogDetails implements IWriter {
/** @var string */
protected $tag;
- public function __construct(string $tag = 'owncloud') {
+ public function __construct(SystemConfig $config, string $tag = 'owncloud') {
+ parent::__construct($config);
$this->tag = $tag;
}
/**
- * write a message in the log
+ * Write a message in the log
+ *
* @param string $app
- * @param string $message
+ * @param string|array $message
* @param int $level
*/
public function write(string $app, $message, int $level) {
- error_log('[' . $this->tag . ']['.$app.']['.$level.'] '.$message);
+ error_log('[' . $this->tag . ']['.$app.']['.$level.'] '.$this->logDetailsAsJSON($app, $message, $level));
}
}
diff --git a/lib/private/Log/LogFactory.php b/lib/private/Log/LogFactory.php
index 807ff501e39..2fdadc3bdb2 100644
--- a/lib/private/Log/LogFactory.php
+++ b/lib/private/Log/LogFactory.php
@@ -49,7 +49,7 @@ class LogFactory implements ILogFactory {
public function get(string $type):IWriter {
switch (strtolower($type)) {
case 'errorlog':
- return new Errorlog();
+ return new Errorlog($this->systemConfig);
case 'syslog':
return $this->c->resolve(Syslog::class);
case 'systemd':
@@ -73,7 +73,7 @@ class LogFactory implements ILogFactory {
protected function createNewLogger(string $type, string $tag, string $path): IWriter {
switch (strtolower($type)) {
case 'errorlog':
- return new Errorlog($tag);
+ return new Errorlog($this->systemConfig, $tag);
case 'syslog':
return new Syslog($this->systemConfig, $tag);
case 'systemd':
diff --git a/lib/private/Log/Syslog.php b/lib/private/Log/Syslog.php
index 8140b4ec77c..f4ba857742f 100644
--- a/lib/private/Log/Syslog.php
+++ b/lib/private/Log/Syslog.php
@@ -53,7 +53,7 @@ class Syslog extends LogDetails implements IWriter {
/**
* write a message in the log
* @param string $app
- * @param string $message
+ * @param string|array $message
* @param int $level
*/
public function write(string $app, $message, int $level) {
diff --git a/lib/private/Log/Systemdlog.php b/lib/private/Log/Systemdlog.php
index 00f242e3718..20a60623713 100644
--- a/lib/private/Log/Systemdlog.php
+++ b/lib/private/Log/Systemdlog.php
@@ -72,7 +72,7 @@ class Systemdlog extends LogDetails implements IWriter {
/**
* Write a message to the log.
* @param string $app
- * @param string $message
+ * @param string|array $message
* @param int $level
*/
public function write(string $app, $message, int $level) {
diff --git a/lib/public/Log/IWriter.php b/lib/public/Log/IWriter.php
index acc39533bfd..3c7ec84e8c0 100644
--- a/lib/public/Log/IWriter.php
+++ b/lib/public/Log/IWriter.php
@@ -30,6 +30,10 @@ namespace OCP\Log;
interface IWriter {
/**
* @since 14.0.0
+ *
+ * @param string $app
+ * @param string|array $message
+ * @param int $level
*/
public function write(string $app, $message, int $level);
}