Allow write audit log to syslog and systemdlog

Signed-off-by: Joas Schilling <coding@schilljs.com>
pull/30763/head
Joas Schilling 4 years ago
parent 4c41abd816
commit 497c5841fc
No known key found for this signature in database
GPG Key ID: 7076EA9751AACDDA
  1. 18
      apps/admin_audit/lib/AppInfo/Application.php
  2. 27
      config/config.sample.php

@ -96,15 +96,19 @@ class Application extends App implements IBootstrap {
}
private function getLogger(IConfig $config,
LoggerInterface $logger,
ILogFactory $logFactory): LoggerInterface {
$default = $config->getSystemValue('datadirectory', \OC::$SERVERROOT . '/data') . '/audit.log';
$logFile = $config->getAppValue('admin_audit', 'logfile', $default);
if ($logFile === null) {
return $logger;
$auditType = $config->getSystemValueString('log_type_audit', 'file');
$defaultTag = $config->getSystemValueString('syslog_tag', 'Nextcloud');
$auditTag = $config->getSystemValueString('syslog_tag_audit', $defaultTag);
$logFile = $config->getSystemValueString('logfile_audit', '');
if ($auditType === 'file' && !$logFile) {
$default = $config->getSystemValue('datadirectory', \OC::$SERVERROOT . '/data') . '/audit.log';
// Legacy way was appconfig, now it's paralleled with the normal log config
$logFile = $config->getAppValue('admin_audit', 'logfile', $default);
}
return $logFactory->getCustomPsrLogger($logFile);
return $logFactory->getCustomPsrLogger($logFile, $auditType, $auditTag);
}
/**

@ -839,6 +839,13 @@ $CONFIG = [
*/
'log_type' => 'file',
/**
* This parameter determines where the audit logs are sent. See ``log_type`` for more information.
*
* Defaults to ``file``
*/
'log_type_audit' => 'file',
/**
* Name of the file to which the Nextcloud logs are written if parameter
* ``log_type`` is set to ``file``.
@ -848,7 +855,15 @@ $CONFIG = [
'logfile' => '/var/log/nextcloud.log',
/**
* Log file mode for the Nextcloud loggin type in octal notation.
* Name of the file to which the audit logs are written if parameter
* ``log_type`` is set to ``file``.
*
* Defaults to ``[datadirectory]/audit.log``
*/
'logfile_audit' => '/var/log/audit.log',
/**
* Log file mode for the Nextcloud logging type in octal notation.
*
* Defaults to 0640 (writeable by user, readable by group).
*/
@ -872,6 +887,16 @@ $CONFIG = [
*/
'syslog_tag' => 'Nextcloud',
/**
* If you maintain different instances and aggregate the logs, you may want
* to distinguish between them. ``syslog_tag_audit`` can be set per instance
* with a unique id. Only available if ``log_type`` is set to ``syslog`` or
* ``systemd``.
*
* The default value is the value of ``syslog_tag``.
*/
'syslog_tag_audit' => 'Nextcloud',
/**
* Log condition for log level increase based on conditions. Once one of these
* conditions is met, the required log level is set to debug. This allows to

Loading…
Cancel
Save