dreamfactory / df-mongo-logs
DreamFactory(tm) MongoDB 日志包
1.2.0
2023-02-28 10:08 UTC
Requires
- ext-json: *
- ext-mongodb: *
- dreamfactory/df-core: ~1.0
- jenssegers/mongodb: ~3.9.0
- spatie/laravel-http-logger: ^1.9
Requires (Dev)
- filp/whoops: ~2.0
- phpunit/phpunit: @stable
This package is auto-updated.
Last update: 2024-09-16 17:34:38 UTC
README
DreamFactory 4.0.1 及以上版本支持一种非常简单的日志记录所有请求的解决方案。API 中请求的所有记录都将写入数据库。当前日志 API 请求服务仅支持 MongoDB。
配置
要配置所有请求的日志记录,您需要转到包含环境变量的文件,并找到 LogsDB 设置块。
此块包含以下变量
LOGSDB_ENABLED
- 用于启用或禁用 API 请求日志记录的布尔标志。可能的值:"true"
或"false"
。默认为"false"
。LOGSDB_HOST
- 存储日志的数据库的主机。默认为localhost
。LOGSDB_PORT
- 数据库连接端口。默认为27017
LOGSDB_DATABASE
- 日志数据库的名称。LOGSDB_USERNAME
- 具有数据库访问权限的用户名。LOGSDB_PASSWORD
- 用户密码。
如果 LOGSDB_ENABLED
设置为 false,则不会记录任何请求。此外,不会运行迁移。
日志结构
MongoDB 文档
每个请求将作为单独的文档存储在提供的数据库中的 access
集合中。
每个文档如下
{
"_id": ObjectId,
"timestamp": string,
"method": string,
"uri" : string,
"body" : string,
"expireAt" : ISODate
}
_id
- 文档的唯一 ID。 MongoDB ObjectId 文档。timestamp
- 文档创建日期。格式 "YYYY-mm-dd HH-MM-SS"method
- 请求方法。例如:GET
、POST
、PUT
、PATCH
、DELETE
。uri
- 请求路径。例如:/api/v2/system/environment
、/api/v2/system
。body
- 字符串格式的请求正文。例如:"{\"group\":\"source control,file\"}"
、"{\"include_count\":\"true\"}"
expireAt
- 此日志将被删除的日期。默认为创建后 45 天。 MongoDB 日期文档