mirror of
https://gitee.com/fastadminnet/framework.git
synced 2026-07-07 23:22:48 +08:00
SQL日志记录主从标记
This commit is contained in:
@@ -380,7 +380,7 @@ abstract class Connection
|
|||||||
// 执行查询
|
// 执行查询
|
||||||
$this->PDOStatement->execute();
|
$this->PDOStatement->execute();
|
||||||
// 调试结束
|
// 调试结束
|
||||||
$this->debug(false);
|
$this->debug(false, '', $master);
|
||||||
// 返回结果集
|
// 返回结果集
|
||||||
return $this->getResult($pdo, $procedure);
|
return $this->getResult($pdo, $procedure);
|
||||||
} catch (\PDOException $e) {
|
} catch (\PDOException $e) {
|
||||||
@@ -448,7 +448,7 @@ abstract class Connection
|
|||||||
// 执行语句
|
// 执行语句
|
||||||
$this->PDOStatement->execute();
|
$this->PDOStatement->execute();
|
||||||
// 调试结束
|
// 调试结束
|
||||||
$this->debug(false);
|
$this->debug(false, '', true);
|
||||||
|
|
||||||
if ($query && !empty($this->config['deploy']) && !empty($this->config['read_master'])) {
|
if ($query && !empty($this->config['deploy']) && !empty($this->config['read_master'])) {
|
||||||
$query->readMaster(true);
|
$query->readMaster(true);
|
||||||
@@ -911,9 +911,10 @@ abstract class Connection
|
|||||||
* @access protected
|
* @access protected
|
||||||
* @param boolean $start 调试开始标记 true 开始 false 结束
|
* @param boolean $start 调试开始标记 true 开始 false 结束
|
||||||
* @param string $sql 执行的SQL语句 留空自动获取
|
* @param string $sql 执行的SQL语句 留空自动获取
|
||||||
|
* @param boolean $master 主从标记
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
protected function debug($start, $sql = '')
|
protected function debug($start, $sql = '', $master = false)
|
||||||
{
|
{
|
||||||
if (!empty($this->config['debug'])) {
|
if (!empty($this->config['debug'])) {
|
||||||
// 开启数据库调试模式
|
// 开启数据库调试模式
|
||||||
@@ -930,7 +931,7 @@ abstract class Connection
|
|||||||
$result = $this->getExplain($sql);
|
$result = $this->getExplain($sql);
|
||||||
}
|
}
|
||||||
// SQL监听
|
// SQL监听
|
||||||
$this->trigger($sql, $runtime, $result);
|
$this->trigger($sql, $runtime, $result, $master);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -954,7 +955,7 @@ abstract class Connection
|
|||||||
* @param mixed $explain SQL分析
|
* @param mixed $explain SQL分析
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
protected function trigger($sql, $runtime, $explain = [])
|
protected function trigger($sql, $runtime, $explain = [], $master = false)
|
||||||
{
|
{
|
||||||
if (!empty(self::$event)) {
|
if (!empty(self::$event)) {
|
||||||
foreach (self::$event as $callback) {
|
foreach (self::$event as $callback) {
|
||||||
@@ -964,7 +965,14 @@ abstract class Connection
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// 未注册监听则记录到日志中
|
// 未注册监听则记录到日志中
|
||||||
Log::record('[ SQL ] ' . $sql . ' [ RunTime:' . $runtime . 's ]', 'sql');
|
if ($this->config['deploy']) {
|
||||||
|
// 分布式记录当前操作的主从
|
||||||
|
$master = $master ? 'master|' : 'slave|';
|
||||||
|
} else {
|
||||||
|
$master = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
Log::record('[ SQL ] ' . $sql . ' [ ' . $master . 'RunTime:' . $runtime . 's ]', 'sql');
|
||||||
if (!empty($explain)) {
|
if (!empty($explain)) {
|
||||||
Log::record('[ EXPLAIN : ' . var_export($explain, true) . ' ]', 'sql');
|
Log::record('[ EXPLAIN : ' . var_export($explain, true) . ' ]', 'sql');
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user