guozhijian611/thinkorm-log

基于webman开发的ThinkOrm日志记录插件,增强版支持API请求日志记录

dev-main 2025-06-14 22:43 UTC

This package is auto-updated.

Last update: 2025-06-14 22:44:04 UTC


README

基于 webman 的ThinkOrm和 API日志记录

基于 webman 使用ThinkOrm时的日志记录工具,同时支持API请求日志记录 本插件基于 saithink/thinkorm-log 二次开发,由 guozhijian611 增强API日志功能

功能特性

  • ThinkOrm SQL查询日志记录
  • API请求响应日志记录
  • 支持控制台输出和文件记录
  • 可配置开关控制
  • 美化的日志输出格式
  • 支持忽略特定路径
  • 统一的Bootstrap注册方式

安装

composer环境的安装命令如下

composer require guozhijian611/thinkorm-log

安装之前确保已安装webman

配置文件

基础配置:config/plugin/guozhijian611/thinkorm-log/app.php

return [
    // 是否启用日志记录
    'enable' => true,
    // 是否输出到控制台
    'console'   => true,
    // 是否记录到日志文件
    'file'  => false,
    
    // API日志配置
    'api_log' => [
        // 是否启用API日志
        'enable' => true,
        // 是否输出到控制台
        'console' => true,
        // 是否记录到日志文件
        'file' => false,
        // 忽略的路径(支持字符串匹配)
        'ignore_paths' => [
            'logs',
            'logview',
            '/logs',
            '/logview/'
        ]
    ]
];

日志输出示例

SQL日志

``` [2024-01-01 12:00:00]SELECT * FROM users WHERE id = 1 [0.001s] ```

API日志

``` ┌────────────────────────2024-01-01 12:00:00─────────────────────────── │ 状态码: ✅ 200 │ 请求方式: POST │ 接口: http://localhost:8787/api/user/login │ 耗时: 25.67ms │ 参数: { │ "username": "admin", │ "password": "123456" │ } │ 响应数据: { │ "code": 0, │ "msg": "登录成功", │ "data": { │ "token": "xxx" │ } │ } └──────────────────────────────────────────────────── ```

日志文件

  • SQL日志文件:runtime/logs/sql.log
  • API日志文件:runtime/logs/api.log

工作原理

插件通过 Bootstrap 类统一注册所有功能:

  • SQL日志:通过 Db::listen() 监听数据库查询
  • API日志:通过中间件配置文件注册全局中间件
  • 配置控制:通过配置文件控制各功能的开关

作者