2.检索审计日志

描述

integer/array auditlog.get(object parameters)

该方法允许根据给定的参数检索审计日志记录。

参数

(object) 定义所需输出的参数。

该方法接受以下参数。

参数 [ 型](/zh/manual/api/reference_commentary#data_types) 描述
auditids string/array 仅返回具有给定ID的审计日志。
userids string/array 仅返回由给定用户创建的审计日志。
time_from timestamp 仅返回在给定时间之后或在给定时间创建的审计日志项。
time_till timestamp 仅返回在给定时间之前或指定时间创建的审计日志项。
selectDetails query 返回每个字段更改为的审计日志项如细节 属性.

仅适用于带动作项 "1 - 更新", 对于其他类型的操作,返回空数组。
sortfield string/array 按给定属性对结果进行排序。

取值: auditid, userid, clock.
filter object 仅返回与给定过滤器完全匹配的结果。

接受一个数组,其中的键是属性名称,并且值可以是单个值或要匹配的值数组。

另外支持按属性字段过滤: table_name, field_name.
search object 字段内容中的子字符串搜索: note, ip, resourcename, oldvalue, newvalue不区分大小写。
countOutput boolean 该参数对于参考注释中描述的所有get方法都是通用的。
excludeSearch boolean
limit integer
output query
preservekeys boolean
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

返回值

(integer/array) 传回:

  • 对象数组;
  • 如果使用 countOutput 参数,则为检索到的对象的计数。

示例

检索审计日志

检索两个最新的审计日志记录。

请求:

{
    "jsonrpc": "2.0",
    "method": "auditlog.get",
    "params": {
        "output": "extend",
        "sortfield": "clock",
        "sortorder": "DESC",
        "limit": 2
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}

响应:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "auditid": "189",
            "userid": "1",
            "clock": "1580913141",
            "action": "3",
            "resourcetype": "0",
            "note": "",
            "ip": "127.0.0.1",
            "resourceid": "0",
            "resourcename": ""
        },
        {
            "auditid": "188",
            "userid": "1",
            "clock": "1580903029",
            "action": "3",
            "resourcetype": "0",
            "note": "",
            "ip": "127.0.0.1",
            "resourceid": "0",
            "resourcename": ""
        }
    ],
    "id": 2
}

检索在oldvalue字段中具有子字符串"test"的审计日志记录。

请求:

{
    "jsonrpc": "2.0",
    "method": "auditlog.get",
    "params": {
        "output": ["auditid", "resourcename"],
        "search": {
            "newvalue": "test"
        },
        "selectDetails": "extend"
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}

响应:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "auditid": "5",
            "resourcename": "Mattermost2",
            "details": [
                {
                    "table_name": "media_type",
                    "field_name": "event_menu_url",
                    "oldvalue": "http://test",
                    "newvalue": "http://test{EVENT.TAGS.__test}"
                }
            ]
        },
        {
            "auditid": "7",
            "resourcename": "Email",
            "details": [
                {
                    "table_name": "media_type",
                    "field_name": "name",
                    "oldvalue": "Email",
                    "newvalue": "Email test"
                }
            ]
        }
    ],
    "id": 20
}

参见

来源

CAuditLog::get() in ui/include/classes/api/services/CAuditLog.php.