28 lines
670 B
C++
28 lines
670 B
C++
void log (string fmt, ...) {
|
|
String_Builder* sb = get_thread_context()->log_builder;
|
|
|
|
va_list args;
|
|
va_start(args, fmt);
|
|
print_to_builder(sb, fmt, args);
|
|
va_end(args);
|
|
|
|
// Append newline if needed
|
|
string result = string_view(sb);
|
|
bool ends_with_newline = (result.data[result.count-1] == '\n');
|
|
if (!ends_with_newline) {
|
|
append(sb, "\n");
|
|
}
|
|
|
|
string message = string_view(sb);
|
|
|
|
Logger* logger = get_context_logger();
|
|
logger->proc(message, Log_Level::None, logger->data);
|
|
|
|
reset_string_builder(sb);
|
|
}
|
|
|
|
void print (string message) {
|
|
Logger* logger = get_context_logger();
|
|
logger->proc(message, Log_Level::None, logger->data);
|
|
}
|