diff options
author | Kent Delante <kent.delante@proton.me> | 2025-07-01 14:01:52 +0800 |
---|---|---|
committer | backportbot[bot] <backportbot[bot]@users.noreply.github.com> | 2025-07-02 01:45:40 +0000 |
commit | af5e411ec0b19d55beb8072a30dfca23fb81cb41 (patch) | |
tree | e12de8cd70f4b37e9de36fcb3bba6bfdbfe55978 | |
parent | b98ca97789ae6209e8440c4e374eb755ec715085 (diff) | |
download | nextcloud-server-backport/53738/stable30.tar.gz nextcloud-server-backport/53738/stable30.zip |
fix(syslog): open syslog channel on writebackport/53738/stable30
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)); } } |