From 8b7004e68dfad516adbdecc9925bd7fc954cc8d4 Mon Sep 17 00:00:00 2001 From: Dean Lee Date: Thu, 24 Aug 2023 11:10:23 +0800 Subject: [PATCH] swaglog: remove unnecessary string copy (#29164) --- common/swaglog.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/common/swaglog.cc b/common/swaglog.cc index 060090e18f..c0614c85f5 100644 --- a/common/swaglog.cc +++ b/common/swaglog.cc @@ -64,8 +64,7 @@ static void log(int levelnum, const char* filename, int lineno, const char* func if (levelnum >= s.print_level) { printf("%s: %s\n", filename, msg); } - char levelnum_c = levelnum; - zmq_send(s.sock, (levelnum_c + log_s).c_str(), log_s.length() + 1, ZMQ_NOBLOCK); + zmq_send(s.sock, log_s.data(), log_s.length(), ZMQ_NOBLOCK); } static void cloudlog_common(int levelnum, const char* filename, int lineno, const char* func, @@ -87,8 +86,11 @@ static void cloudlog_common(int levelnum, const char* filename, int lineno, cons log_j["msg"] = msg_j; } - std::string log_s = ((json11::Json)log_j).dump(); + std::string log_s; + log_s += (char)levelnum; + ((json11::Json)log_j).dump(log_s); log(levelnum, filename, lineno, func, msg_buf, log_s); + free(msg_buf); }