EZ Publish/EZ Publish 系统记帐
来自站长百科
EZ Publish | EZ Publish安装与卸载 | EZ Publish的使用 | EZ Publish常见问题 | EZ Publish其他 |
记账功能[ ]
系统可以根据用户的操作来生成系统记账。这个特性可以用于有很多管理员和编辑的大型网站来记录用户的行为。例如:记账功能可以用来找出哪个用户删除了内容以及用户的请求来自于哪个IP 地址等等。
系统提供了一套内建的记账功能,它可以用来为不同操作生成记账。系统至少会记录以下信息:
• 何时发生(时间戳)
• 来源(IP 地址)
• 操作员(用户名和ID)
注意,大部分记账功能提供附加信息。下例演示了节点被删除后的一条记账内容。
[ May 23 2007 14:47:58 ] [127.0.0.1] [editor:16] Node ID: 124 Old parent node ID: 2 New parent node ID: 59 Object ID: 114 Content Name: Folder Comment: Moved the node to the given node: eZContentObjectTreeNode::move()
下表列出了可用的内建记账功能,触发条件,记账信息类型以及默认日志文件。
系统记账的配置[ ]
- 默认情况下,记账功能被禁用,可以在"audit.ini"重设文件中"[AuditSettings]“下的"Audit"设置。用"AuditFileNames"数组配置日志文件。用记账函数名称作为键值,文件名作为值。注意,默认情况下,记账会被写入不同文件(参考上表)。
- "LogDir“用来指定记账日志文件保存目录。默认目录为"var/log/audit"。
示例[ ]
假设只希望为成功登录和角色变更记账,可以创建一个"audit.ini"的重设文件并做如下配置:
[AuditSettings] Audit=enabled LogDir=var/log/my_audit AuditFileNames[] AuditFileNames[user-login]=login.log AuditFileNames[role-change]=role_change.log
成功登录信息会被写入到"login.log"。关于角色变更的信息会被写入到"role_change.log"。两个文件都位于"var/log/my_audit"目录。两个文件中的记录都会包含:时间戳,用户(用户名和ID),IP 地址。与角色变更的记录还会包含其他附加信息。
创建新的记账函数[ ]
- 主要为要开发新的记账函数的PHP 程序员提供指导。
- 有时可能需要开发新的记账功能,例如:要求系统将某个特殊的操作记录到特殊的日志文件。例如:
- 如果希望创建一个新的记账函数"my-new-audit",并且将某个操作的信息记录到"info.log",可以:
- 1. 确定记账功能已经启用且已添加如下配置:
AuditFileNames[my-new-audit]=info.log
- 2. 在定义操作的PHP 代码中,添加如下代码:
include_once( "kernel/classes/ezaudit.php" ); eZAudit::writeAudit( 'my-new-audit', array( 'User id' => $userID, 'Comment' => 'The operation XYZ was performed.' ) );
"名称" => "值"定义了当操作发生时,哪些信息需要被写入哪个日志文件。
例如,日志中的记录如下:
[ May 23 2007 14:44:04 ] [127.0.0.1] [anonymous:10] User id: 10 Comment: The operation XYZ was performed.