diff options
author | Christoph Wurst <ChristophWurst@users.noreply.github.com> | 2023-01-25 19:32:38 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-25 19:32:38 +0100 |
commit | e33fec6c44f9772c1e8b44bc236a0df33d35f69b (patch) | |
tree | 2295c9520f24cd4c41e5bffa5e72234e1392f1fc /lib | |
parent | b3d231591648c44fe42d85a91f1da2a0a5b45035 (diff) | |
parent | 0e56c19f8db7de9fa81af25f9b7e275a8421a1f4 (diff) | |
download | nextcloud-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.php | 13 | ||||
-rw-r--r-- | lib/private/Log/LogFactory.php | 4 | ||||
-rw-r--r-- | lib/private/Log/Syslog.php | 2 | ||||
-rw-r--r-- | lib/private/Log/Systemdlog.php | 2 | ||||
-rw-r--r-- | lib/public/Log/IWriter.php | 4 |
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); } |