aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKent Delante <kent.delante@proton.me>2025-07-01 14:01:52 +0800
committerbackportbot[bot] <backportbot[bot]@users.noreply.github.com>2025-07-02 01:45:40 +0000
commitaf5e411ec0b19d55beb8072a30dfca23fb81cb41 (patch)
treee12de8cd70f4b37e9de36fcb3bba6bfdbfe55978
parentb98ca97789ae6209e8440c4e374eb755ec715085 (diff)
downloadnextcloud-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.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));
}
}