Added file logging for rocclr & HIP
Change-Id: Ic0a54f6ee82d010b011739e0059778ed31833518
[ROCm/clr commit: 5f055d227d]
This commit is contained in:
@@ -26,6 +26,7 @@
|
||||
#include "utils/flags.hpp"
|
||||
#endif
|
||||
|
||||
#include <mutex>
|
||||
#include <cstdlib>
|
||||
#include <cstdio>
|
||||
#include <cstdarg>
|
||||
@@ -80,6 +81,15 @@ void log_timestamped(LogLevel level, const char* file, int line, const char* mes
|
||||
#endif
|
||||
}
|
||||
|
||||
FILE* g_pLogFile = nullptr;
|
||||
std::once_flag g_iLogFileInitialized;
|
||||
|
||||
void createLogFile() {
|
||||
if (!flagIsDefault(AMD_LOG_FILE) && g_pLogFile == nullptr) {
|
||||
g_pLogFile = fopen("rocclr-trace.log", "w");
|
||||
}
|
||||
}
|
||||
|
||||
void log_printf(LogLevel level, const char* file, int line, const char* format, ...) {
|
||||
va_list ap;
|
||||
|
||||
@@ -88,7 +98,16 @@ void log_printf(LogLevel level, const char* file, int line, const char* format,
|
||||
vsnprintf(message, sizeof(message), format, ap);
|
||||
va_end(ap);
|
||||
|
||||
fprintf(stderr, ":%d:%-25s:%-4d: %010lld: %s\n", level, file, line, Os::timeNanos() / 100ULL, message);
|
||||
if (!flagIsDefault(AMD_LOG_FILE)) {
|
||||
std::call_once(amd::g_iLogFileInitialized, amd::createLogFile);
|
||||
|
||||
if (g_pLogFile) {
|
||||
fprintf(g_pLogFile, ":%d:%-25s:%-4d: %010lld: %s\n", level, file, line, Os::timeNanos() / 100ULL, message);
|
||||
}
|
||||
}
|
||||
else {
|
||||
fprintf(stderr, ":%d:%-25s:%-4d: %010lld: %s\n", level, file, line, Os::timeNanos() / 100ULL, message);
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace amd
|
||||
|
||||
@@ -26,6 +26,8 @@
|
||||
\
|
||||
release(int, AMD_LOG_LEVEL, 0, \
|
||||
"The default log level") \
|
||||
release(bool, AMD_LOG_FILE, false, \
|
||||
"By default log file is disabled") \
|
||||
release(uint, AMD_LOG_MASK, 0X7FFFFFFF, \
|
||||
"The mask to enable specific kinds of logs") \
|
||||
debug(uint, DEBUG_GPU_FLAGS, 0, \
|
||||
|
||||
Reference in New Issue
Block a user