如何设置nextCloud的日志?

Cloud storage

1 基础知识

1.1 nextCloud日志的介绍

nextCloud日志用于查看系统状态或调试
nextCloud日志允许用户自定义 日志级别
nextCloud日志支持输出到系统日志
nextCloud日志如果需要开启审核信息,可激活“admin_audit”应用
nextCloud日志的“admin_audit”应用默认在数据目录生成“audit.log”文件

1.2 nextCloud日志的级别

– 0,DEBUG(调试),输出所有记录
– 1,INFO(信息),输出用户登录和文件活动信息同时也输出警告、错误、失败级别的信息
– 2,WARN(警告),输出操作成功但有潜在问题的警告同时也输出错误、失败级别的信息(默认级别)
– 3,ERROR(错误),输出操作失败但其他服务仍继续的错误信息同时也输出失败级别的信息
– 4,FATAL(失败),输出服务停止级别的信息

1.3 nextCloud日志的类型

1.3.1 file类型

– 所有日志信息都写入到一个单独的文件
– 支持“”界面的日志管理器查看
– 默认输出到“data/nextcloud.log”目录
– “data”目录由“config/config.php”的参数“datadirectory”配置
– “config.php”参数详细定义范例如下,

<?php
$CONFIG = array (
  [...]
  'log_type' => 'file',
  'logfile' => 'nextcloud.log',
  'loglevel' => '3',
  'logdateformat' => 'F d, Y H:i:s',
);

注:
– “logdateformat”参数定义所需的日期格式
– 日期格式由PHP date函数生成
– 默认日期格式为“2013-01-10T15:20:25+02:00”
– 范例定义的日期格式为“January 10, 2013 15:20:25”

1.3.2 syslog类型

– 所有日志信息将发送到系统默认的syslog守护进程
– “config.php”参数详细定义范例如下,

<?php
$CONFIG = array (
  [...]
  'log_type' => 'syslog',
  'logfile' => '',
  'loglevel' => 3,
);

1.3.3 systemd类型

– 所有日志发送到Systemd日志
– 该功能需要安装php-systemd扩展
– “config.php”参数详细定义范例如下,

<?php
$CONFIG = array (
  [...]
  'log_type'  =>  'systemd',
);

1.3.4 Admin audit log类型

– 如果日志级别设置为“2”级别以上
– 则可通过定义“config.php”参数开启审核日志,详细定义范例如下,

<?php
$CONFIG = array (
  [...]
  'log.condition' =>
  array (
    'apps' =>
    array (
      0 => 'admin_audit',
    ),
  ),
  [...]
);

设置完成后,还需要执行以下命令定义审核日志的名称和路径,

occ config:app:set admin_audit logfile --value=/var/log/nextcloud/audit.log

2 最佳实践

2.1 配置环境

以下操作需要你先准备nextCloud的环境,

如何部署CentOS 8.x nextCloud?

2.1 配置步骤

2.1.1 启用审核日志控件

sudo -u apache php /var/www/nextcloud/occ app:enable admin_audit

2.1.2 创建日志目录

mkdir -p /var/log/nextcloud/
chown apache:apache /var/log/nextcloud/

2.1.3 定义日志相关配置

vim /var/www/nextcloud/config/config.php

加入如下配置,

<?php
$CONFIG = array (
  [...]
  'log_type' => 'file',
  'logfile' => '/var/log/nextcloud/nextcloud.log',
  'loglevel' => 2,
  'logtimezone' => 'Asia/Shanghai',
  'log.condition' =>
  array (
    'apps' =>
    array (
      0 => 'admin_audit',
    ),
  ),
  [...]
);

2.1.4 定义审核日志的名称和路径

sudo -u apache php /var/www/nextcloud/occ config:app:set admin_audit logfile --value=/var/log/nextcloud/audit.log

参阅文档
==================
https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/logging_configuration.html?#admin-audit-log

没有评论

发表评论

Cloud storage
如何解决NextCloud文件锁定问题?

1 前言 一个问题,一篇文章,一出故事。 笔者生产环境nextCloud遇到用户上传文件锁定,于是整 …

Cloud storage
如何监视并自启动nextCloud服务?

1 前言 一个问题,一篇文章,一出故事。 nextCloud在我司属于比较重要的业务,根据以前的经验 …

Cloud storage
如何附加NextCloud的oneDrive存储?

1 基础知识 “files_external_onedrive”插件允许NextCloud扩展微软的 …