作者 lyh

gx

@@ -33,35 +33,25 @@ class QueryListener @@ -33,35 +33,25 @@ class QueryListener
33 public function handle(QueryExecuted $event) 33 public function handle(QueryExecuted $event)
34 { 34 {
35 try{ 35 try{
36 - // 将 SQL 中的占位符 '?' 替换为 '%s' 36 + if (env('APP_DEBUG') == true) {
37 $sql = str_replace("?", "'%s'", $event->sql); 37 $sql = str_replace("?", "'%s'", $event->sql);
38 - // 将绑定参数进行处理  
39 foreach ($event->bindings as $i => $binding) { 38 foreach ($event->bindings as $i => $binding) {
40 if ($binding instanceof \DateTime) { 39 if ($binding instanceof \DateTime) {
41 - // 格式化 DateTime 类型的参数  
42 $event->bindings[$i] = $binding->format('\'Y-m-d H:i:s\''); 40 $event->bindings[$i] = $binding->format('\'Y-m-d H:i:s\'');
43 } else { 41 } else {
44 if (is_string($binding)) { 42 if (is_string($binding)) {
45 - // 确保字符串参数以引号括起来  
46 - $event->bindings[$i] = "'$binding'";  
47 - } elseif (is_numeric($binding)) {  
48 - // 确保数值参数的正确性  
49 - $event->bindings[$i] = $binding;  
50 - } else {  
51 - // 其他类型的参数处理  
52 - $event->bindings[$i] = (string) $binding; 43 + $event->bindings[$i] = "$binding";
53 } 44 }
54 } 45 }
55 } 46 }
56 - // 检查占位符和绑定参数数量是否匹配  
57 - $placeholders = substr_count($sql, '%s');  
58 - if ($placeholders == count($event->bindings)) {  
59 - // 构建日志信息 47 + if(strpos($sql,'%Y-%m') === false){
60 $log = vsprintf($sql, $event->bindings); 48 $log = vsprintf($sql, $event->bindings);
61 - $log = $log . ' [ RunTime:' . $event->time . 'ms ] '; 49 + }else{
  50 + $log = $sql;
  51 + }
  52 +
  53 + $log = $log.' [ RunTime:'.$event->time.'ms ] ';
62 Log::debug($log); 54 Log::debug($log);
63 - } else {  
64 - Log::error("Number of placeholders ($placeholders) does not match number of bindings (" . count($event->bindings) . ") for SQL: $sql");  
65 } 55 }
66 //监听api_no是TM咋个被改的 56 //监听api_no是TM咋个被改的
67 if (Str::contains($event->sql, 'update') && Str::contains($event->sql, '`api_no` =')) { 57 if (Str::contains($event->sql, 'update') && Str::contains($event->sql, '`api_no` =')) {