aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKent Delante <kent.delante@proton.me>2025-07-01 14:01:52 +0800
committerKent Delante <kent.delante@proton.me>2025-07-03 13:41:57 +0800
commit79ee6daee5ecfe1403ca285258adec255e46de8e (patch)
tree2c61209759e3d8b2f90c00fa3ac29553e30e639b
parent46995004e35b4b14b18aeded5569cd4622827ada (diff)
downloadnextcloud-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.php8
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));
}
}