Fix logging of QuicNewTokenFrame

This issue was found during IETF interop. The current code is logging the token bytes directly, which can cause issues in some terminal emulators. This CL logs token bytes encoded as hex to avoid this issue.

gfe-relnote: logging change, not flag protected
PiperOrigin-RevId: 259218241
Change-Id: If3242862802a25e8254c4d52f10f8a7302aa58ba
diff --git a/quic/core/frames/quic_new_token_frame.cc b/quic/core/frames/quic_new_token_frame.cc
index 6e36866..51d03e7 100644
--- a/quic/core/frames/quic_new_token_frame.cc
+++ b/quic/core/frames/quic_new_token_frame.cc
@@ -3,8 +3,10 @@
 // found in the LICENSE file.
 
 #include "net/third_party/quiche/src/quic/core/frames/quic_new_token_frame.h"
+
 #include "net/third_party/quiche/src/quic/core/quic_constants.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_logging.h"
+#include "net/third_party/quiche/src/quic/platform/api/quic_text_utils.h"
 
 namespace quic {
 
@@ -16,8 +18,8 @@
     : control_frame_id(control_frame_id), token(token) {}
 
 std::ostream& operator<<(std::ostream& os, const QuicNewTokenFrame& s) {
-  os << "{ control_frame_id: " << s.control_frame_id << ", token: " << s.token
-     << " }\n";
+  os << "{ control_frame_id: " << s.control_frame_id
+     << ", token: " << QuicTextUtils::HexEncode(s.token) << " }\n";
   return os;
 }