diff options
author | Kent Delante <kent.delante@proton.me> | 2025-07-01 14:01:52 +0800 |
---|---|---|
committer | Kent Delante <kent.delante@proton.me> | 2025-07-03 13:41:57 +0800 |
commit | 79ee6daee5ecfe1403ca285258adec255e46de8e (patch) | |
tree | 2c61209759e3d8b2f90c00fa3ac29553e30e639b | |
parent | 46995004e35b4b14b18aeded5569cd4622827ada (diff) | |
download | nextcloud-server-backport/53738/stable31.tar.gz nextcloud-server-backport/53738/stable31.zip |
fix(syslog): open syslog channel on writebackport/53738/stable31
This fixes a bug where only one tag gets used when multiple tags have
been configured (e.g. different tags for 'syslog_tag' and 'syslog_tag_audit')
Signed-off-by: Kent Delante <kent.delante@proton.me>
-rw-r--r-- | lib/private/Log/Syslog.php | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/private/Log/Syslog.php b/lib/private/Log/Syslog.php index bd2c39509b1..46214599eb8 100644 --- a/lib/private/Log/Syslog.php +++ b/lib/private/Log/Syslog.php @@ -20,15 +20,18 @@ class Syslog extends LogDetails implements IWriter { ILogger::FATAL => LOG_CRIT, ]; + private string $tag; + public function __construct( SystemConfig $config, ?string $tag = null, ) { parent::__construct($config); if ($tag === null) { - $tag = $config->getValue('syslog_tag', 'Nextcloud'); + $this->tag = $config->getValue('syslog_tag', 'Nextcloud'); + } else { + $this->tag = $tag; } - openlog($tag, LOG_PID | LOG_CONS, LOG_USER); } public function __destruct() { @@ -41,6 +44,7 @@ class Syslog extends LogDetails implements IWriter { */ public function write(string $app, $message, int $level): void { $syslog_level = $this->levels[$level]; + openlog($this->tag, LOG_PID | LOG_CONS, LOG_USER); syslog($syslog_level, $this->logDetailsAsJSON($app, $message, $level)); } } |