insert([ 'provider' => $provider, 'waybill_number' => $waybillNo, 'phone' => self::maskPhone($phone), 'express_code' => $expressCode, 'status_code' => intval($statusCode), 'success' => $success ? 1 : 0, 'message' => mb_substr((string) $message, 0, 255), 'duration_ms' => intval($durationMs), 'createtime' => time(), ]); } catch (\Exception $e) { // ignore logging failures } } protected static function maskPhone($phone) { $phone = trim((string) $phone); if (strlen($phone) <= 4) { return $phone; } return str_repeat('*', max(0, strlen($phone) - 4)) . substr($phone, -4); } }