马上注册,免费下载更多dz插件网资源。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本文档基于仓库实际源码逐项核实,覆盖:总路由 `source/app/admin/module/logs.php`、日志子页 `source/app/admin/child/logs/*.php`、写入函数 `logger()`(`source/function/function_core.php`)、日志助手 `helper_log`(`source/class/helper/helper_log.php`)、数据表类 `table_common_log`(`source/class/table/table_common_log.php`)、自动清理计划任务 `source/child/cron/cron_clearlog_daily.php`、配置 `config/config_global_default.php`。
一、操作日志系统概述
Discuz! X5.1 操作日志是系统内置的行为审计与事件记录体系,统一通过 `logger()` 函数写入,覆盖用户行为、管理操作、系统运行、第三方服务对接四大类场景,留存操作主体、时间、内容、结果与设备/IP 信息,用于安全运维、故障排查、合规审计与管理追溯。
核心作用
安全审计:追溯后台访问(cp)、前台管理(modcp/版主管理)、用户封禁等管理操作,防范越权与内部风险问题排查:通过系统错误(error)、RESTful 接口、队列、对象存储、邮件/短信失败日志快速定位故障行为追溯:对违规(crime)、积分变动(credit)、评分(rate)、警告(warn)等操作全链路溯源合规留存:通过设置页配置各类型保留天数,由每日计划任务自动清理
日志存储与驱动
默认存储:数据库表 `pre_common_log`,由 `logger()` 写入。驱动可配置:`config/config_global_default.php` 中 `$_config['log']['type']`,支持三种模式:
`mysql`(默认):写入 `common_log` 表(`table_common_log_mysql`)`file`:按"年月至 `data/log/{Ym}_log_{type}.php`"追加 JSON 行,并维护同名的 `.index.php` 行偏移索引(`table_common_log_file`);此模式下后台不提供开关/清理配置界面,也不支持 JSON 字段检索、无自动清理`script`:自定义脚本,要求脚本内定义 `class table_common_log_script`,方法参考 `table_common_log_mysql`
日志驱动由 `table_common_log::t()` 依据 `$_G['config']['log']['type']` 自动实例化。
记录开关与默认值
每种类型是否写入由 `$_G['setting']['log'][$type]` 开关控制(后台「工具 → 操作日志 → 设置」页配置)。安装默认开启的类型(`install/lang_sql_install/table_common_setting.php`):`illegal`、`ban`、`mods`、`sms`、`login`、`cp`、`modcp`、`error`、`sendmail`、`SMTP`、`rate`、`pmt`。其余类型(`user`、`sslcert`、`restful`、`queue`、`oss`、`cloudmoderate`、`warn`、`credit`、`magic`、`medal`、`invite`、`payment`、`crime`)默认关闭,需在设置页手动开启。注意:日志"查看页"本身不校验开关,开关只影响是否产生新记录。
查看权限
后台权限:只要后台管理组成员被授予 `logs` 动作权限(全局权限 `all` 或指定),即可进入日志各子页;没有"仅创始人/超管可见"的限制。IP 显示:日志中的 ClientIP 列受管理组「查看 IP」权限(`$_G['group']['allowviewip']`)控制,无权限时显示 `-`。产生条件:如禁止用户日志需要管理组开启「禁止用户」权限,其操作才会被记录(见 tips 文案 `logs_tips_ban`)。
二、入口路径与界面结构
入口路径
后台 → 顶部导航 「工具」 → 左侧菜单 「操作日志」(`shownav('tools', 'nav_logs', ...)`)→ 默认进入 「设置」页。
(注意:不是"站长 → 日志记录 → 操作日志总览";系统没有"操作日志总览"页面,默认页为日志开关与清理配置页。)
菜单分组(共 6 组)
| 分组 | 菜单标识 | 子项 | | 设置 | `nav_logs_setting` | 日志开关/清理配置页(默认页) | | 用户记录 | `nav_logs_member` | 密码错误 illegal、禁止用户 ban、版主管理 mods、短信发送记录 sms、登录日志 login、用户资料修改 user、SSL 登录证书 sslcert(仅在开启 SSL 登录证书功能时显示) | | 系统记录 | `nav_logs_system` | 后台访问 cp、前台社区管理 modcp、系统错误 error、邮件发送失败 sendmail、SMTP 邮件异常 SMTP、RESTful 接口 restful、队列服务 queue、对象存储 oss、云审核日志 cloudmoderate | | 扩展记录 | `nav_logs_extended` | 用户评分 rate、用户警告 warn、积分变更 credit、道具操作 magic、勋章颁发 medal、邀请注册 invite、买卖主题 payment、支付记录 pmt | | 违规记录 | `nav_logs_crime` | 违规记录 crime(全部)及 9 种违规行为子菜单 | | 其他记录 | `nav_logs_plugin` | 插件注册的日志类型(来自 `adminlog` 缓存) |
路由与分发机制
`source/app/admin/module/logs.php` 为总路由:
默认 `$operation = 'setting'`;对基于 `common_log` 的类型,构造查询条件 `type = $operation`,调用 `table_common_log::t()->fetch_all_by_conditions()` 取数并分页(每页 `lpp`,默认 50);通过 `childfile('logs/'.$operation)` 分发到 `source/app/admin/child/logs/{operation}.php` 渲染;插件日志按 `operation = "{插件标识}:{文件名}"` 解析,读取 `source/plugin/{插件}/log/log_{文件}.php`。
基于 `common_log` 的页面都会输出设备详情折叠行(函数 `showdevice()`):ClientIP / Port / Browser / OS / Device / User Agent。`cp` / `modcp` 页面另有"更多"折叠行展示完整 `extralog`(GET/POST 参数);`restful` 可展开 Request/Response。
基础功能操作(与常见误区对照)
多维度筛选:不是所有类型都有统一筛选表单。实际支持两类:
通用 JSON 检索(仅基于 `common_log` 的类型,且数据库驱动为 mysql):`?search[field]=data|device&search[key]=JSON字段名[&search[字段名]=值]`,以及 `search[uid]`、`search[username]`,内部转为 `JSON_EXTRACT()` 条件;`user`、`error`(BackTrace hash)页即使用该机制。各页专属检索表单:积分变更 credit(用户名/UID/关联对象/操作类型/时间范围/收入支出/积分类型)、邀请注册 invite(邀请人/被邀请人/日期/IP/邀请码)、违规记录 crime(操作者/行为/对象/时间/关键词)、用户警告 warn(按作者 keyword)、系统错误 error(BackTrace hash)。
详情查看:支持。点击「更多」可看设备/IP 明细;`cp`/`modcp` 可看完整操作参数;`restful` 可看请求/响应;`user` 长字段可弹窗查看全文。日志导出 CSV/Excel:系统未实现导出功能,请勿声称支持。批量清理:后台没有通用"按时间批量清理"入口。仅「邀请注册」页支持勾选删除邀请记录(删除 `common_invite`)。常规清理走「设置」页的"自动清理+保留天数"配置,由每日计划任务 `cron_clearlog_daily.php`(每日 03:00)自动执行。
三、各日志类型详细说明
以下按菜单分组列出全部 25 类内置日志 + 插件日志。每类注明:类型标识、数据来源表、触发点、核心 data 字段、启用开关、页面列与特点。
A. 用户记录组
1. 密码错误 `illegal`
数据来源:`common_log`;触发于前台账号密码登录失败(`source/class/class_member.php`,`logger('illegal', ...)`)。data 字段:`logintime`、`username`(尝试登录的用户名)、`password`(已做脱敏 `***`)、`questionid`(安全问题序号)、`clientip`。启用开关:`log[illegal]`,默认开。页面列:ID / 时间 / 设备(ClientIP) / 用户名 / 密码 / 安全问题。提示:IP 显示需管理组「查看 IP」权限。注意:仅记录前台密码登录失败;后台登录失败走独立流程,不在本类型中。
2. 禁止用户 `ban`
数据来源:`common_log`;触发于 `savebanlog()`(`source/function/function_misc.php`)与后台用户管理(`admin/child/members/function.php`),即锁定/禁止/解除等操作。data 字段:`operator_username`(执行人)、`operator_groupid`、`clientip`、`username`(被操作人)、`origgroupid`、`newgroupid`、`expiration`(禁止到期时间)、`reason`。启用开关:`log[ban]`,默认开。页面列:ID / 操作者 / 设备 / 时间 / 被禁用户 / 操作类型 / 原组→新组 / 有效期 / 原因;支持按操作类型下拉过滤(锁定 / 解锁 / 解除禁止 / 禁止)。
3. 版主管理 `mods`
数据来源:`common_log`;触发于 `modlog()`(`source/function/function_misc.php`),覆盖前台 `topicadmin` 的各类管理动作(置顶、精华、删除、移动、关闭、高亮等)。data 字段:`operator_username`、`operator_adminid`、`clientip`、`forum_fid`、`forum_name`、`tid`、`subject`、`action`、`reason`、`toforum_fid`、`toforum_name`(移动目标版块)。启用开关:`log[mods]`,默认开。页面列:ID / 操作者 / 用户组 / 设备 / 时间 / 版块(含移动目标) / 主题 / 动作(`forum/modaction` 语言包翻译) / 原因。
4. 短信发送记录 `sms`
数据来源:`common_log`;触发于各短信网关类 `smsgw_aliyun/baidu/huawei/smsbao/tencent.php` 的发送流程。data 字段:随网关不同,页面展示 `secmobicc`(区号)、`secmobile`(手机号)、`content.content`(内容)、`ret`(网关返回结果)。启用开关:`log[sms]`,默认开(只要配置并使用了短信网关即有记录,无需"开启短信功能"之外的条件)。页面列:ID / uid / 用户名 / 设备 / 时间 / 区号 / 手机号 / 内容 / 返回结果。
5. 登录日志 `login`
数据来源:`common_log`;触发于前台账号密码登录成功(`class_member.php`、`class_account.php`)。data 字段:`timestamp`、`uid`、`type`(登录方式标识)、`atype`、`account`。启用开关:`log[login]`,默认开。页面列:ID / uid / 用户名 / type / 设备 / data / 时间 / IP。
6. 用户资料修改 `user`
数据来源:`common_log`;触发于 `helper_log::userlog()`,记录 `common_member` 关键字段变更:`email`、`loginname`、`username`、`status`、`emailstatus`、`avatarstatus`、`videophotostatus`、`adminid`、`groupid`、`groupexpiry`、`extgroupids`、`regdate`、`accessmasks`、`allowadmincp`、`freeze`。启用开关:`log[user]`,默认关。页面列:ID / 用户名 / 时间 / 设备 / 字段明细 / 操作人;支持按用户名与 JSON 字段名检索,长字段点击弹窗查看全文(`do=field`)。
7. SSL 登录证书 `sslcert`
数据来源:`common_log`;触发于 `source/class/class_sslcert.php` 的证书生成 / 下载 / 禁用 / 启用操作。data 字段:`timestamp`、`uid`、`type`(操作:generate/download/disable/enable)。启用开关:`log[sslcert]`,默认关;且菜单仅在开启 SSL 登录证书功能(`$_G['setting']['sslcert']['allow']`)时显示。页面列:ID / uid / 用户名 / 设备 / data / 时间 / IP。
B. 系统记录组
8. 后台访问 `cp`
数据来源:`common_log`;触发于每次后台页面访问(`source/app/admin/class/class_core.php` 的 `writecplog()`)。data 字段:`timestamp`、`operator_username`、`operator_adminid`、`clientip`、`action`、`extralog`(GET/POST 参数序列化,已剔除 `formhash`、`submit`、`addsubmit`、`admin_password`、`sid`、`action` 等敏感/干扰字段)。启用开关:`log[cp]`,默认开,可在设置页关闭(并非"不可关闭")。页面列:ID / 操作者 / 用户组 / 设备 / 时间 / 动作 / 其他(extralog 摘要,点击展开全文)。注意:动作名经 `$explainAction` 翻译,但该变量在 `cp.php` 中未定义(见"已知限制"),实际回退显示原始 `action` 值。
9. 前台社区管理 `modcp`
数据来源:`common_log`;触发于前台管理面板(`source/app/forum/module/modcp.php`)的管理操作。data 字段:`operator_username`、`operator_adminid`、`clientip`、`fid`、`action`、`extralog`。启用开关:`log[modcp]`,默认开。页面列:ID / 操作者 / 用户组 / 设备 / 时间 / 动作 / 操作(operation) / 版块 / 其他(extralog)。与 `cp` 的区别:`cp` 记后台,`modcp` 记前台管理面板。
10. 系统错误 `error`
数据来源:`common_log`;触发于 `discuz_error::write_error_log()`(`source/class/discuz/discuz_error.php`)。data 字段:`timestamp`、`message`(错误信息)、`hash`(`md5(message)` 去重键)、`clientip`、`user`(uid+IP+RIP)、`uri`(请求 URL)。启用开关:`log[error]`,默认开。页面列:ID / 时间 / 设备 / 错误信息(message + hash + clientip + user + Request);支持按 BackTrace hash 检索(可用于聚合同一错误)。
11. 邮件发送失败 `sendmail`
数据来源:`common_log`;触发于 `helper_log::runlog('sendmail', ...)` 的各处邮件发送失败点(`function_mail.php` 之外如注册、找回密码、通知、队列发送等)。data 字段:`timestamp`、`clientip`、`uid`、`nowurl`、`message`("收件邮箱 sendmail failed.")。启用开关:`log[sendmail]`,默认开。页面列:ID / 时间 / 设备 / 用户名(由收件邮箱反查)/ 邮箱。仅记录失败,成功邮件不记录。
12. SMTP 邮件异常 `SMTP`
数据来源:`common_log`;触发于 `source/function/function_mail.php` 的 SMTP 协议交互各阶段(CONNECT / HELO / AUTH / MAIL FROM / RCPT TO / DATA 等)失败。data 字段:`timestamp`、`clientip`、`uid`、`nowurl`、`message`("服务器:端口 阶段 - 错误信息")。启用开关:`log[SMTP]`,默认开。页面列:ID / 时间 / 设备 / 用户名(由 uid 解析)/ 原因。与 `sendmail` 的区别:`SMTP` 偏底层协议异常,`sendmail` 偏业务发送结果。
13. RESTful 接口 `restful`
数据来源:`common_log`;触发于每次 RESTful 请求(`source/class/class_restful.php` 的 `_log()`),同时受 RESTful 应用自身配置 `_conf.log` 与全局开关双重控制。data 字段:`appid`、`api`、`params`(超 2048 字节截断)、`response`(超 2048 字节截断)、`ret`(返回码)。启用开关:`log[restful]`,默认关。页面列:ID / 时间 / appid / api / params(点击展开 Request/Response)/ ret / 用户名 / 设备。
14. 队列服务 `queue`
数据来源:`common_log`;触发于 `source/class/class_queue.php` 将 Redis 队列日志转储入库,`source='queue'`,`device` 含 `pid`。data 字段:`msg`(含时间、服务标识、消息内容)。启用开关:`log[queue]`,默认关。页面列:仅消息内容(逐条堆叠)。
15. 对象存储 `oss`
数据来源:`common_log`;触发于 `source/class/class_oss.php` 及后台 FTP 检测等对象存储相关操作。data 字段:`msg`、`caller`(PHP 调用点)、`type`(OSS 服务名)。启用开关:`log[oss]`,默认关。页面列:ID / 时间 / 设备 / message(含 msg + PHP 调用点 + OSS 服务)。
16. 云审核日志 `cloudmoderate`
数据来源:`common_log`;触发于 `source/class/class_cloudmoderate.php` 的云审核请求与回调。data 字段:`requestid`、`status`(审核状态,页面经 `cloudmoderate_log_result_*` 语言包翻译)、`msg`、`type`(审核服务名,经 `cloudmoderate_server_*` 翻译)。启用开关:`log[cloudmoderate]`,默认关。页面列:requestId / 用户名 / 结果 / 时间 / 设备 / 消息。
C. 扩展记录组
17. 用户评分 `rate`
数据来源:`common_log`;触发于前台评分(`forum/child/misc/rate.php`、`removerate.php`、`delpost.php` 删除评分)及后台积分调整(`admin/child/members/credit.php`)。data 字段:`operator_username`、`operator_adminid`、`member_username`(被评分人)、`extcredits`(积分类型)、`diff`(分值,正负)、`tid`、`subject`、`reason`、`d`('D' 表示删除评分)。启用开关:`log[rate]`,默认开。页面列:评分人 / 用户组 / 时间 / 被评分人 / 分值 / 主题 / 原因 / 设备。
18. 用户警告 `warn`
数据来源:`forum_warning` 表(后台页面读取);同时前台警告(`forum/child/topicadmin/warn.php`)也会 `logger('warn')` 写入 `common_log`(用于自动清理联动)。启用开关:`log[warn]`,默认关。页面列:警告信息(帖子链接+原因)/ 被警告作者 / 操作人 / 时间;支持 `keyword`(作者)过滤。无设备/IP 展示(非 common_log 页面)。
19. 积分变更 `credit`
数据来源:`common_credit_log` + `common_credit_log_field`(非 `common_log`)。触发点:全站积分增减,操作类型 30 种,按关联对象归类:任务 `TRC`;主题 `RTC/RAC/STC/BTC/ACC/RCT/RCA/RCB`;会员 `TFR/RCV/CEC/ECU/AFD/CDC/RKC/RPR/RPZ/CHU`;附件 `BAC/SAC`;道具 `MRC/BGC/RGC/AGC/BMC`;勋章 `BME`;帖子 `PRC/RSC`;用户组 `UGP`;举报 `RPC`;另有 `RUL/INV/ERR` 等。启用开关:`log[credit]`,默认关(仅用于自动清理 `credit` 相关表)。页面列:用户名 / 时间 / 类型 / 积分增减 / 结余(ac) / 详情 / 关联对象(可点击跳转并可"查看同类记录");检索表单最全(用户名/UID、关联对象类型+ID、操作类型、时间范围、收入/支出、积分类型、每页条数)。
20. 道具操作 `magic`
数据来源:`common_magiclog`。触发点:道具购买/使用/赠送/丢弃等(action 1-5)。启用开关:`log[magic]`,默认关。页面列:用户名 / 道具名 / 时间 / 数量 / 价格 / 动作;支持按道具与动作类型下拉过滤。
21. 勋章颁发 `medal`
数据来源:`forum_medallog`。触发点:勋章颁发/回收/过期(type 0-3)。启用开关:`log[medal]`,默认关。页面列:用户名 / 勋章名 / 类型 / 时间 / 有效期;支持按勋章与类型过滤。
22. 邀请注册 `invite`
数据来源:`common_invite`。触发点:邀请码购买/邀请注册。启用开关:`log[invite]`,默认关。页面列:勾选删除框 / 邀请人 / 购买日期 / 有效期 / IP / 邀请码 / 状态(未注册/已注册/过期);支持检索(邀请人 UID/用户名、被邀请人、购买日期区间、IP、邀请码),唯一支持手动批量删除的日志页(删除 `common_invite` 记录,过期记录自动剔除)。
23. 买卖主题 `payment`
数据来源:`common_credit_log`(`operation = 'BTC'` 主题购买)。触发点:付费主题的出售/购买交易。启用开关:`log[payment]`,默认关。页面列:主题 / 金额(积分类型:绝对值)/ 卖家 / 买家 / 发布时间 / 成交时间。
24. 支付记录 `pmt`
数据来源:`common_log`;触发于 `source/class/class_payment.php` 的支付网关日志。data 字段:`dateline`、`channel`(支付渠道,经 `payment::channels()` 翻译)、`status`(经 `logs_payment_status_*` 翻译)、`order_id`、`uid`、`clientip`、`remoteport`、`error`(经 `payment_error_*` 翻译)、`data`(网关原始返回)。启用开关:`log[pmt]`,默认开。页面列:时间 / 支付渠道 / 状态 / 订单号 / uid / 设备 / 错误(点击展开网关数据)。
D. 违规记录组
25. 违规记录 `crime`
数据来源:`common_member_crime`,经 `crime('search', ...)` 检索。触发点:会员违规处理行为,子类菜单 9 种:
`crime_delpost` 删除帖子、`crime_warnpost` 警告帖子、`crime_banpost` 屏蔽帖子、`crime_banspeak` 禁止发言、`crime_banvisit` 禁止访问、`crime_banstatus` 锁定用户、`crime_avatar` 清除头像、`crime_sightml` 清除签名、`crime_customstatus` 清除自定义头衔。
启用开关:`log[crime]`,默认关(仅用于自动清理 `common_member_crime`)。检索表单:操作者 / 违规行为 / 操作对象 / 时间范围 / 关键词。页面列:用户 / 行为 / 时间 / 原因 / 操作者。与 `warn`(轻度警告)、`ban`(封禁)的区别:`crime` 是违规处理档案的汇总入口。
E. 插件日志(其他记录组)
插件可通过在 `source/plugin/{标识}/log/` 目录提供 `log_{文件名}.php` 注册自定义日志查看页(`cache_setting.php` 扫描该目录并写入 `adminlog` 缓存)。写入方式:`logger('{插件标识}:{动作名}', $member, $uid, $data)`,菜单项名取插件语言包 `log_{动作名}`,开关键为 `log[插件标识:动作名]`。子页路由:`operation = "插件标识:动作名"`,从 `source/plugin/{标识}/log/log_{动作名}.php` 加载。
四、数据模型与通用机制
common_log 表结构(logger() 写入)
| 字段 | 说明 | | `id` | 自增主键 | | `uid` | 记录主体用户 ID(`$member['uid']`,可为 0) | | `loginname` / `username` | 记录主体登录名 / 用户名 | | `type` | 日志类型标识(如 `illegal`、`cp`、`pmt`、`{插件}:{动作}`) | | `data` | 业务明细(JSON 字符串) | | `operationuid` | 操作执行者 UID(与记录主体可能不同) | | `source` | 来源(默认 `Web`,队列为 `queue` 等) | | `device` | 设备信息(JSON,`getLogInfo()`:client_ip、client_port、client_browser、client_os、client_device、client_useragent;queue 等场景为自定义数组) | | `record` | 预留记录字段 | | `dateline` | 时间戳 |
`logger($type, $member, $operationuid, $data = [], $device = [], $record = '', $source = 'Web')`。
通用 JSON 检索(mysql 驱动)
`module/logs.php` 支持:`search[field]=data|device` + `search[key]=JSON字段名` + 可选 `search[字段名]=值`,以及 `search[uid]`、`search[username]`,转换为 `JSON_EXTRACT(field, '$.key') = 值` 条件。
仅对基于 `common_log` 的类型生效;`file` 驱动下不支持(文件驱动仅接受 type 条件)。`user`、`error` 页直接利用了该机制(字段名检索、hash 检索)。
详情查看
`showdevice()`:common_log 类页面均输出可折叠的设备/IP 行。`cp`/`modcp`:`togglecplog` 展开完整 `extralog`。`restful`:展开 Request(params)与 Response。`user`:超长字段弹窗查看(`do=field`)。`pmt`/`cloudmoderate`/`error`/`oss`:data 字段展开。
五、日志保留与自动清理
配置入口
「工具 → 操作日志 → 设置」页(`child/logs/setting.php`),逐类型三列配置:
记录开关(`log[{type}]`,是否写入该类型日志)自动清理开关(`log[clearlogstypes]`,勾选后纳入清理)保留天数(`log[clearlogsdays][{type}]`,0 表示不清理)
页面支持"全选/清空记录开关"、"全选清理"、批量填写天数。默认清理类型为 `cp`、`error`;默认 `clearlogstime=0`(不清理)。
`$_G['config']['log']['type'] == 'file'` 时,设置页隐藏以上开关表(文件驱动无法清理)。 自动清理计划任务
`source/child/cron/cron_clearlog_daily.php`(每日 03:00,cronid=22「每日清理操作日志」):
对勾选的类型,删除 `common_log` 中 `dateline < 当前时间 - 天数*86400` 的记录;联动清理关联表:`credit` → `common_credit_log` + `common_credit_log_field`;`warn` → `forum_warning`;`magic` → `common_magiclog`;`medal` → `forum_medallog`;`invite` → `common_invite`;`crime` → `common_member_crime`。
已知限制与注意事项
`$explainAction` 未定义:`cp.php`、`modcp.php` 中用于动作名翻译的 `$explainAction` 变量从未赋值,导致"动作"列始终回退显示原始 `action` 字符串(如 `member`、`logs`),不会显示中文翻译。文件模式限制:`table_common_log_file::fetch_all_by_conditions()` 仅支持 `type` 条件与分页,通用 JSON 检索、`user`/`error` 的字段检索在文件模式下无效;且无自动清理。开关不影响查看:日志查看页不校验 `log[type]` 开关,开关只决定是否产生新记录;未开启的类型页面会显示为空(分页数为 0)。warn 双写:前台警告同时写 `common_log`(`type=warn`)与 `forum_warning`,但后台警告页只读 `forum_warning`,二者口径不完全一致。`invite` 页删除为物理删除,勾选删除后不可恢复;过期未注册邀请记录在打开页面时会被自动清除。`credit`/`magic`/`medal`/`invite`/`warn`/`crime`/`payment` 不走 `common_log`,它们各自的"启用开关"仅影响 cron 自动清理联动,不控制记录产生(记录由各自业务表本身承载)。
常见问题
Q1:为什么部分日志类型没有数据?
原因有三种:① 该类型记录开关未开启(设置页勾选"记录");② 对应功能未使用/未配置(如短信未对接网关、RESTful 未调用、OSS 未使用);③ 该类型数据存于独立业务表(credit/magic/medal/invite/warn/crime/payment),只在相关业务发生时产生。
Q2:操作日志如何清理?
设置页逐类型勾选"自动清理"并填写保留天数,每日 03:00 计划任务自动删除;`file` 驱动下需手工清理 `data/log/` 下的按月日志文件。
Q3:日志记录会影响站点性能吗?
`logger()` 为同步单条写入(`silent` 参数下失败静默)。高并发站点建议:① 仅在需要审计的类型开启记录开关;② 将日志驱动切换为 `file` 或 `script` 自定义落地方式;③ 通过设置页合理设置保留天数,控制 `common_log` 表体积。
©DZ插件网所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。 本站内容为站长个人技术研究记录或网络,不提供用户交互功能,所有内容版权归原作者所有。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,得到更好的正版服务。 您在本站任何的赞助购买、下载、查阅、回复等行为等均表示接受并同意签订《DZ插件网免责声明协议》。 如有侵权请邮件与我们联系处理: discuzaddons@vip.qq.com 并出示相关证明以便删除。敬请谅解!
|
|