fix MSVC, formatting, FMT/VAL placeholders
This commit is contained in:
parent
ba5590f44b
commit
3edee3fa93
1 changed files with 81 additions and 81 deletions
162
common/log.h
162
common/log.h
|
@ -135,7 +135,7 @@ inline std::string _log_filename_generator(const std::string & log_file_basename
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef LOG_DEFAULT_FILE_NAME
|
#ifndef LOG_DEFAULT_FILE_NAME
|
||||||
/**/#define LOG_DEFAULT_FILE_NAME log_filename_generator("llama", "log")
|
#define LOG_DEFAULT_FILE_NAME log_filename_generator("llama", "log")
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Utility for turning #define values into string literals
|
// Utility for turning #define values into string literals
|
||||||
|
@ -154,29 +154,29 @@ inline std::string _log_filename_generator(const std::string & log_file_basename
|
||||||
// #include "log.h"
|
// #include "log.h"
|
||||||
//
|
//
|
||||||
#ifndef LOG_NO_TIMESTAMPS
|
#ifndef LOG_NO_TIMESTAMPS
|
||||||
/**/#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
/* */#define LOG_TIMESTAMP_FMT "[%" PRIu64 "] "
|
#define LOG_TIMESTAMP_FMT "[%" PRIu64 "] "
|
||||||
/* */#define LOG_TIMESTAMP_VAL , (std::chrono::duration_cast<std::chrono::duration<std::uint64_t>>(std::chrono::system_clock::now().time_since_epoch())).count()
|
#define LOG_TIMESTAMP_VAL , (std::chrono::duration_cast<std::chrono::duration<std::uint64_t>>(std::chrono::system_clock::now().time_since_epoch())).count()
|
||||||
/**/#else
|
#else
|
||||||
/* */#define LOG_TIMESTAMP_FMT "[%" PRIu64 "] "
|
#define LOG_TIMESTAMP_FMT "[%" PRIu64 "] "
|
||||||
/* */#define LOG_TIMESTAMP_VAL , (std::chrono::duration_cast<std::chrono::duration<std::uint64_t>>(std::chrono::system_clock::now().time_since_epoch())).count()
|
#define LOG_TIMESTAMP_VAL , (std::chrono::duration_cast<std::chrono::duration<std::uint64_t>>(std::chrono::system_clock::now().time_since_epoch())).count()
|
||||||
/**/#endif
|
#endif
|
||||||
#else
|
#else
|
||||||
/**/#define LOG_TIMESTAMP_FMT
|
#define LOG_TIMESTAMP_FMT "%s"
|
||||||
/**/#define LOG_TIMESTAMP_VAL
|
#define LOG_TIMESTAMP_VAL ,""
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef LOG_TEE_TIMESTAMPS
|
#ifdef LOG_TEE_TIMESTAMPS
|
||||||
/**/#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
/* */#define LOG_TEE_TIMESTAMP_FMT "[%" PRIu64 "] "
|
#define LOG_TEE_TIMESTAMP_FMT "[%" PRIu64 "] "
|
||||||
/* */#define LOG_TEE_TIMESTAMP_VAL , (std::chrono::duration_cast<std::chrono::duration<std::uint64_t>>(std::chrono::system_clock::now().time_since_epoch())).count()
|
#define LOG_TEE_TIMESTAMP_VAL , (std::chrono::duration_cast<std::chrono::duration<std::uint64_t>>(std::chrono::system_clock::now().time_since_epoch())).count()
|
||||||
/**/#else
|
#else
|
||||||
/* */#define LOG_TEE_TIMESTAMP_FMT "[%" PRIu64 "] "
|
#define LOG_TEE_TIMESTAMP_FMT "[%" PRIu64 "] "
|
||||||
/* */#define LOG_TEE_TIMESTAMP_VAL , (std::chrono::duration_cast<std::chrono::duration<std::uint64_t>>(std::chrono::system_clock::now().time_since_epoch())).count()
|
#define LOG_TEE_TIMESTAMP_VAL , (std::chrono::duration_cast<std::chrono::duration<std::uint64_t>>(std::chrono::system_clock::now().time_since_epoch())).count()
|
||||||
/**/#endif
|
#endif
|
||||||
#else
|
#else
|
||||||
/**/#define LOG_TEE_TIMESTAMP_FMT
|
#define LOG_TEE_TIMESTAMP_FMT "%s"
|
||||||
/**/#define LOG_TEE_TIMESTAMP_VAL
|
#define LOG_TEE_TIMESTAMP_VAL ,""
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Allows disabling file/line/function prefix
|
// Allows disabling file/line/function prefix
|
||||||
|
@ -187,29 +187,29 @@ inline std::string _log_filename_generator(const std::string & log_file_basename
|
||||||
// #include "log.h"
|
// #include "log.h"
|
||||||
//
|
//
|
||||||
#ifndef LOG_NO_FILE_LINE_FUNCTION
|
#ifndef LOG_NO_FILE_LINE_FUNCTION
|
||||||
/**/#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
/* */#define LOG_FLF_FMT "[%24s:%5d][%24s] "
|
#define LOG_FLF_FMT "[%24s:%5d][%24s] "
|
||||||
/* */#define LOG_FLF_VAL , __FILE__, __LINE__, __FUNCTION__
|
#define LOG_FLF_VAL , __FILE__, __LINE__, __FUNCTION__
|
||||||
/**/#else
|
#else
|
||||||
/* */#define LOG_FLF_FMT "[%24s:%5ld][%24s] "
|
#define LOG_FLF_FMT "[%24s:%5ld][%24s] "
|
||||||
/* */#define LOG_FLF_VAL , __FILE__, __LINE__, __FUNCTION__
|
#define LOG_FLF_VAL , __FILE__, __LINE__, __FUNCTION__
|
||||||
/**/#endif
|
#endif
|
||||||
#else
|
#else
|
||||||
/**/#define LOG_FLF_FMT
|
#define LOG_FLF_FMT "%s"
|
||||||
/**/#define LOG_FLF_VAL
|
#define LOG_FLF_VAL ,""
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef LOG_TEE_FILE_LINE_FUNCTION
|
#ifdef LOG_TEE_FILE_LINE_FUNCTION
|
||||||
/**/#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
/* */#define LOG_TEE_FLF_FMT "[%24s:%5d][%24s] "
|
#define LOG_TEE_FLF_FMT "[%24s:%5d][%24s] "
|
||||||
/* */#define LOG_TEE_FLF_VAL , __FILE__, __LINE__, __FUNCTION__
|
#define LOG_TEE_FLF_VAL , __FILE__, __LINE__, __FUNCTION__
|
||||||
/**/#else
|
#else
|
||||||
/* */#define LOG_TEE_FLF_FMT "[%24s:%5ld][%24s] "
|
#define LOG_TEE_FLF_FMT "[%24s:%5ld][%24s] "
|
||||||
/* */#define LOG_TEE_FLF_VAL , __FILE__, __LINE__, __FUNCTION__
|
#define LOG_TEE_FLF_VAL , __FILE__, __LINE__, __FUNCTION__
|
||||||
/**/#endif
|
#endif
|
||||||
#else
|
#else
|
||||||
/**/#define LOG_TEE_FLF_FMT
|
#define LOG_TEE_FLF_FMT "%s"
|
||||||
/**/#define LOG_TEE_FLF_VAL
|
#define LOG_TEE_FLF_VAL ,""
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Utility for synchronizing log configuration state
|
// Utility for synchronizing log configuration state
|
||||||
|
@ -225,7 +225,7 @@ enum LogTriState
|
||||||
// USE LOG() INSTEAD
|
// USE LOG() INSTEAD
|
||||||
//
|
//
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
/**/#define _LOG(str, ...) \
|
#define _LOG(str, ...) \
|
||||||
{ \
|
{ \
|
||||||
if (LOG_TARGET != nullptr) \
|
if (LOG_TARGET != nullptr) \
|
||||||
{ \
|
{ \
|
||||||
|
@ -234,7 +234,7 @@ enum LogTriState
|
||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
/**/#define _LOG(str, ...) \
|
#define _LOG(str, ...) \
|
||||||
{ \
|
{ \
|
||||||
if (LOG_TARGET != nullptr) \
|
if (LOG_TARGET != nullptr) \
|
||||||
{ \
|
{ \
|
||||||
|
@ -248,7 +248,7 @@ enum LogTriState
|
||||||
// USE LOG_TEE() INSTEAD
|
// USE LOG_TEE() INSTEAD
|
||||||
//
|
//
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
/**/#define _LOG_TEE(str, ...) \
|
#define _LOG_TEE(str, ...) \
|
||||||
{ \
|
{ \
|
||||||
if (LOG_TARGET != nullptr) \
|
if (LOG_TARGET != nullptr) \
|
||||||
{ \
|
{ \
|
||||||
|
@ -262,7 +262,7 @@ enum LogTriState
|
||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
/**/#define _LOG_TEE(str, ...) \
|
#define _LOG_TEE(str, ...) \
|
||||||
{ \
|
{ \
|
||||||
if (LOG_TARGET != nullptr) \
|
if (LOG_TARGET != nullptr) \
|
||||||
{ \
|
{ \
|
||||||
|
@ -285,9 +285,9 @@ enum LogTriState
|
||||||
// behaves like printf, and supports arguments the exact same way.
|
// behaves like printf, and supports arguments the exact same way.
|
||||||
//
|
//
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
/**/#define LOG(...) _LOG(__VA_ARGS__, "")
|
#define LOG(...) _LOG(__VA_ARGS__, "")
|
||||||
#else
|
#else
|
||||||
/**/#define LOG(str, ...) _LOG("%s" str, "", __VA_ARGS__, "")
|
#define LOG(str, ...) _LOG("%s" str, "", __VA_ARGS__, "")
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Main TEE macro.
|
// Main TEE macro.
|
||||||
|
@ -299,18 +299,18 @@ enum LogTriState
|
||||||
// by defining LOG_TEE_TARGET
|
// by defining LOG_TEE_TARGET
|
||||||
//
|
//
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
/**/#define LOG_TEE(...) _LOG_TEE(__VA_ARGS__, "")
|
#define LOG_TEE(...) _LOG_TEE(__VA_ARGS__, "")
|
||||||
#else
|
#else
|
||||||
/**/#define LOG_TEE(str, ...) _LOG_TEE("%s" str, "", __VA_ARGS__, "")
|
#define LOG_TEE(str, ...) _LOG_TEE("%s" str, "", __VA_ARGS__, "")
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// LOG macro variants with auto endline.
|
// LOG macro variants with auto endline.
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
/**/#define LOGLN(...) _LOG(__VA_ARGS__, "\n")
|
#define LOGLN(...) _LOG(__VA_ARGS__, "\n")
|
||||||
/**/#define LOG_TEELN(...) _LOG_TEE(__VA_ARGS__, "\n")
|
#define LOG_TEELN(...) _LOG_TEE(__VA_ARGS__, "\n")
|
||||||
#else
|
#else
|
||||||
/**/#define LOGLN(str, ...) _LOG("%s" str, "", __VA_ARGS__, "\n")
|
#define LOGLN(str, ...) _LOG("%s" str, "", __VA_ARGS__, "\n")
|
||||||
/**/#define LOG_TEELN(str, ...) _LOG_TEE("%s" str, "", __VA_ARGS__, "\n")
|
#define LOG_TEELN(str, ...) _LOG_TEE("%s" str, "", __VA_ARGS__, "\n")
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// INTERNAL, DO NOT USE
|
// INTERNAL, DO NOT USE
|
||||||
|
@ -380,7 +380,7 @@ inline FILE *_log_handler1(bool change = false, LogTriState disable = LogTriStat
|
||||||
fclose(logfile);
|
fclose(logfile);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
logfile = fopen(filename.c_str(), "w");
|
logfile = fopen(filename.c_str(), "w");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -582,37 +582,37 @@ inline std::string _log_var_to_string(const std::vector<int> & var)
|
||||||
return buf.str();
|
return buf.str();
|
||||||
}
|
}
|
||||||
|
|
||||||
#define LOG_TOKENS_TOSTR_PRETTY(ctx, tokens) \
|
#define LOG_TOKENS_TOSTR_PRETTY(ctx, tokens) \
|
||||||
[&tokens, &ctx]() \
|
[&tokens, &ctx]() \
|
||||||
{ \
|
{ \
|
||||||
std::stringstream buf; \
|
std::stringstream buf; \
|
||||||
buf << "[ "; \
|
buf << "[ "; \
|
||||||
\
|
\
|
||||||
bool first = true; \
|
bool first = true; \
|
||||||
for (const auto &token : tokens) \
|
for (const auto &token : tokens) \
|
||||||
{ \
|
{ \
|
||||||
if (!first) \
|
if (!first) \
|
||||||
buf << ", "; \
|
buf << ", "; \
|
||||||
else \
|
else \
|
||||||
first = false; \
|
first = false; \
|
||||||
\
|
\
|
||||||
auto detokenized = llama_token_to_piece(ctx, token); \
|
auto detokenized = llama_token_to_piece(ctx, token); \
|
||||||
\
|
\
|
||||||
detokenized.erase( \
|
detokenized.erase( \
|
||||||
std::remove_if( \
|
std::remove_if( \
|
||||||
detokenized.begin(), \
|
detokenized.begin(), \
|
||||||
detokenized.end(), \
|
detokenized.end(), \
|
||||||
[](const char c) { return !std::isprint(c); }), \
|
[](const unsigned char c) { return !std::isprint(c); }), \
|
||||||
detokenized.end()); \
|
detokenized.end()); \
|
||||||
\
|
\
|
||||||
buf \
|
buf \
|
||||||
<< "'" << detokenized << "'" \
|
<< "'" << detokenized << "'" \
|
||||||
<< ":" << std::to_string(token); \
|
<< ":" << std::to_string(token); \
|
||||||
} \
|
} \
|
||||||
buf << " ]"; \
|
buf << " ]"; \
|
||||||
\
|
\
|
||||||
return buf.str(); \
|
return buf.str(); \
|
||||||
}() \
|
}() \
|
||||||
.c_str()
|
.c_str()
|
||||||
|
|
||||||
#ifdef LOG_DISABLE_LOGS
|
#ifdef LOG_DISABLE_LOGS
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue