webman 中使用 gateway-worker 插件 记录日志 及sql日志的方案(已解决)

Gin

问题描述

webman 中使用 gateway-worker 插件

在 event.php onmessage内 返回前 增加如下代码 即可

if ($loaded_think_db = (class_exists(Db::class, false) && class_exists(Mysql::class, false))) {
    $sql_logs = Db::getDbLog(true);var_export($sql_logs['sql']);
    if (!empty($sql_logs['sql'])) {
        $logs = '';
        foreach ($sql_logs['sql'] as $sql) {
        $logs .= "[Warehouse-SQL]\t" . trim($sql) . PHP_EOL;
        }
        call_user_func([Log::class, 'info'], $logs);
    }
}
134 1 0
1个回答

lunzi

这应该是orm的工作吧,如果用laravel的orm的话,直接监听QueryExecuted事件试试,然后手动记录下

  • Gin 16天前

    thinkorm的

  • lunzi 16天前

    think我记得也有个配置是记录日志的,但是很多年没用过,忘了哈哈

  • Gin 16天前

    只记录 http请求的 gateway-worker里面的不记录

🔝