首页›内核与基础›Log 日志体系
Log 日志体系
Kuoqi\Core\Log 缓冲落盘式日志:Web 请求整包写入、CLI 阈值/秒切刷盘、10M 轮转
本页内容
- 核心机制
- 关键方法
核心机制
| 机制 | 说明 |
|---|---|
| 缓冲写入 | Web 模式:日志先入 __tmp_info,register_shutdown_function 兜底整包落盘(含请求头/尾) |
| 阈值刷盘 | CLI 模式:超 1000 条或跨秒时刷盘 |
| 文件路径 | Public/Runtime/Logs/{模块}/info_20260831.log(前缀由构造参数决定) |
| 大小轮转 | 超过 10M 时锁文件切分,归档为 info_Ymd_His_随机6位.log |
| 开关 | LOG_LEV 配置为 0 时 log() 直接返回不记录 |
关键方法
| 方法 | 签名 | 说明 |
|---|---|---|
__construct | new Log($filename="info") | 注册 shutdown 兜底写入;file_prefix = filename_ |
log | log($stream, $key, $timelen=0) | 记录一条日志,$timelen=0 时自动计算距上一条耗时 |
getHead | getHead() | 请求头:时间/IP/方法/URL/UA |
getFoot | getFoot() | 请求尾:总耗时 |
open | open() | 打开日志文件(含目录创建与切分逻辑),失败返回 false 不抛异常 |
典型用法
// 全局静态日志(自动创建 Log("info"))
\Kuoqi::log("用户登录成功", "info");
\Kuoqi::error("数据库连接失败"); // Web 记 error 日志;CLI 直接 echo
\Kuoqi::warn("磁盘即将写满"); // Web 记 warn;CLI 直接 echo日志格式
============================================================ [REQUEST]2026-08-31 10:00:00 127.0.0.1 GET /index.php/Home/Index/Index Mozilla/5.0... [info][0.001200] 用户登录成功 [REQUEST_END]2026-08-31 10:00:00 runtime 0.015234
KuoqiPHP v1.05 · 离线静态文档 · 界面基于 KuoqiUI ·
返回首页