]> source.dussan.org Git - nextcloud-server.git/commitdiff
fix(logging): Fix array to string conversion in errorlog writer
authorChristoph Wurst <christoph@winzerhof-wurst.at>
Mon, 5 Dec 2022 18:54:37 +0000 (19:54 +0100)
committerbackportbot-nextcloud[bot] <backportbot-nextcloud[bot]@users.noreply.github.com>
Mon, 19 Dec 2022 13:46:38 +0000 (13:46 +0000)
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
lib/private/Log/Errorlog.php
lib/private/Log/LogFactory.php
lib/private/Log/Syslog.php
lib/private/Log/Systemdlog.php
lib/public/Log/IWriter.php

index d27759d70508dc82018d648fbb203a2390a19139..20a3ec9e2963a06a124e7dce0df41c55cd4416a7 100644 (file)
 
 namespace OC\Log;
 
+use OC\SystemConfig;
 use OCP\Log\IWriter;
 
-class Errorlog implements IWriter {
+class Errorlog extends LogDetails implements IWriter {
 
        /** @var string */
        protected $tag;
@@ -37,12 +38,13 @@ class Errorlog implements IWriter {
        }
 
        /**
-        * 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));
        }
 }
index 807ff501e39f54841e9859822155bf6e729f767c..2fdadc3bdb24d11c903d9945d17584cb895d4502 100644 (file)
@@ -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':
index 8140b4ec77c4f1f780d0078eed8bafd1830126c9..f4ba857742f63d6eb1be62eee0c6843d98db6ac6 100644 (file)
@@ -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) {
index 00f242e3718e50744abdc6bdddeb22e91237ce3a..20a6062371360f8977804975b178d66e119d9eda 100644 (file)
@@ -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) {
index acc39533bfd4838d0ec7de623037fb5d86447a2a..3c7ec84e8c0e228f4817de027e41899f4f9cb60e 100644 (file)
@@ -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);
 }