🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 概述 Webman 是一个现代的 PHP 微框架,它支持多种中间件和组件来增强其功能。记录 SQL 语句到日志通常是一个重要的调试和监控数据库交互的方法。 在 Webman 中,你可以使用官方插件来捕获和记录 SQL 语句。插件可以在请求处理流程中的任何阶段执行代码。 ## 安装插件 ``` composer require webman/log ``` 数据库插件使用ThinkORM ``` composer require -W webman/think-orm ``` 安装后将自动生成`config/thinkorm.php`数据库配置文件,开发者需要根据实际情况手动更改数据库配置。 ## SQL执行语句 ``` think\facade\Db::table('config_info')->where('id',1)->select(); ``` 安装后restart重启webman ![](https://img.kancloud.cn/8d/60/8d60f47a6eb264aa6b6b1bc266b31663_1217x247.png) 日志记录在`rutime/logs`下 ``` [2024-07-05 17:33:29] default.INFO: 172.18.0.1 POST 127.0.0.1:8787/demo/sql [707.586ms] [webman/log] [POST] array ( ) [SQL] CONNECT:[ UseTime:0.000798s ] mysql:host=dnmp-mysql;port=3306;dbname=nacos;charset=utf8 [SQL] SHOW FULL COLUMNS FROM `config_info` [ RunTime:0.006718s ] [SQL] SELECT * FROM `config_info` WHERE `id` = 1 [ RunTime:0.000692s ] [SQL] SHOW FULL COLUMNS FROM `config_tags_relation` [ RunTime:0.002865s ] [SQL] SELECT * FROM `config_tags_relation` [ RunTime:0.000390s ] [] [] ``` ## 注意 如果`thinkorm`无法产生日志,请手动设置`config/thinkorm.php`中`trigger_sql`为`true`。 日志插件不会影响webman内核的日志功能,所以当业务发生异常时,webman内核也会记录日志,加上webman/log记录的日志,会产生两条异常日志。