如何设置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
如何部署基于Nginx部署NextCloud?

1 前言 一个问题,一篇文章,一出故事。 以往使用LAMP环境部署的NextCloud已经工作良久, …

Cloud storage
如何修复NextCloud通讯录图片损坏问题?

1 前言 一个问题,一篇文章,一出故事。 笔者最近需要测试升级NextCloud,发现通讯录显示损坏 …

Cloud storage
如何迁移NextCloud数据目录?

1 前言 一个问题,一篇文章,一出故事。 笔者需要迁移NextCloud的默认数据目录“/var/w …