Optimisation

Signed-off-by: JCW <a1q123456@users.noreply.github.com>
This commit is contained in:
JCW
2025-09-02 00:07:17 +01:00
parent 90f970be46
commit 7debf3e9f4
3 changed files with 153 additions and 29 deletions

View File

@@ -131,6 +131,7 @@ Journal::JsonLogContext::reset(
ThreadIdStringInitializer()
{
std::stringstream threadIdStream;
threadIdStream.imbue(std::locale::classic());
threadIdStream << std::this_thread::get_id();
value = threadIdStream.str();
}

View File

@@ -209,6 +209,41 @@ TEST_CASE("Global attributes inheritable")
beast::Journal::disableStructuredJournal();
}
TEST_CASE("Test JsonWriter")
{
{
std::ostringstream stream;
beast::SimpleJsonWriter writer{stream};
writer.writeString("\n");
CHECK(writer.str() == "\"\\n\"");
}
{
std::ostringstream stream;
beast::SimpleJsonWriter writer{stream};
writer.writeString("\t");
CHECK(writer.str() == "\"\\t\"");
}
{
std::ostringstream stream;
beast::SimpleJsonWriter writer{stream};
writer.writeString(std::string_view{"\0", 1});
CHECK(writer.str() == "\"\\u0000\"");
}
{
std::ostringstream stream;
beast::SimpleJsonWriter writer{stream};
writer.writeString("\"\\");
CHECK(writer.str() == "\"\\\"\\\\\"");
}
}
/**
* @brief sink for writing all log messages to a stringstream
*/