diff options
| author | Marco Lizza <marco.lizza@gmail.com> | 2019-01-20 22:23:07 +0100 |
|---|---|---|
| committer | Marco Lizza <marco.lizza@gmail.com> | 2019-01-20 22:23:07 +0100 |
| commit | 78904d2bcc7345d74a59dd4dd44da685207cf787 (patch) | |
| tree | a6806223857feb8053d2a677c27121cda763830f /src/utils.c | |
| parent | c1c801e5c37d4819d76b7ca905d90a05c8e11073 (diff) | |
| download | raylib-78904d2bcc7345d74a59dd4dd44da685207cf787.tar.gz raylib-78904d2bcc7345d74a59dd4dd44da685207cf787.zip | |
Fixing `TraceLog` function to work on levels.
Diffstat (limited to 'src/utils.c')
| -rw-r--r-- | src/utils.c | 54 |
1 files changed, 26 insertions, 28 deletions
diff --git a/src/utils.c b/src/utils.c index 1cf5c0ff..9a312296 100644 --- a/src/utils.c +++ b/src/utils.c @@ -92,53 +92,51 @@ void SetTraceLogCallback(TraceLogCallback callback) } // Show trace log messages (LOG_INFO, LOG_WARNING, LOG_ERROR, LOG_DEBUG) -void TraceLog(int msgType, const char *text, ...) +void TraceLog(TraceLogType logType, const char *text, ...) { #if defined(SUPPORT_TRACELOG) - char buffer[MAX_TRACELOG_BUFFER_SIZE] = { 0 }; + if (logType < logTypeLevel) { // Message has level below current threshold, don't emit. + return; + } + va_list args; va_start(args, text); if (logCallback) { - logCallback(msgType, text, args); + logCallback(logType, text, args); va_end(args); return; } - switch(msgType) - { - case LOG_INFO: strcpy(buffer, "INFO: "); break; - case LOG_ERROR: strcpy(buffer, "ERROR: "); break; - case LOG_WARNING: strcpy(buffer, "WARNING: "); break; - case LOG_DEBUG: strcpy(buffer, "DEBUG: "); break; - case LOG_OTHER: strcpy(buffer, "OTHER: "); break; - default: break; - } - - strcat(buffer, text); - strcat(buffer, "\n"); - #if defined(PLATFORM_ANDROID) - switch(msgType) + switch(logType) { - case LOG_INFO: if (logTypeFlags & LOG_INFO) __android_log_vprint(ANDROID_LOG_INFO, "raylib", buffer, args); break; - case LOG_WARNING: if (logTypeFlags & LOG_WARNING) __android_log_vprint(ANDROID_LOG_WARN, "raylib", buffer, args); break; - case LOG_ERROR: if (logTypeFlags & LOG_ERROR) __android_log_vprint(ANDROID_LOG_ERROR, "raylib", buffer, args); break; - case LOG_DEBUG: if (logTypeFlags & LOG_DEBUG) __android_log_vprint(ANDROID_LOG_DEBUG, "raylib", buffer, args); break; - case LOG_OTHER: if (logTypeFlags & LOG_OTHER) __android_log_vprint(ANDROID_LOG_VERBOSE, "raylib", buffer, args); break; + case LOG_TRACE: __android_log_vprint(ANDROID_LOG_VERBOSE, "raylib", text, args); break; + case LOG_DEBUG: __android_log_vprint(ANDROID_LOG_DEBUG, "raylib", text, args); break; + case LOG_INFO: __android_log_vprint(ANDROID_LOG_INFO, "raylib", text, args); ; break; + case LOG_WARNING: __android_log_vprint(ANDROID_LOG_WARN, "raylib", text, args); break; + case LOG_ERROR: __android_log_vprint(ANDROID_LOG_ERROR, "raylib", text, args); break; + case LOG_FATAL: __android_log_vprint(ANDROID_LOG_FATAL, "raylib", text, args); break; default: break; } #else - switch(msgType) + char buffer[MAX_TRACELOG_BUFFER_SIZE] = { 0 }; + + switch(logType) { - case LOG_INFO: if (logTypeFlags & LOG_INFO) vprintf(buffer, args); break; - case LOG_WARNING: if (logTypeFlags & LOG_WARNING) vprintf(buffer, args); break; - case LOG_ERROR: if (logTypeFlags & LOG_ERROR) vprintf(buffer, args); break; - case LOG_DEBUG: if (logTypeFlags & LOG_DEBUG) vprintf(buffer, args); break; - case LOG_OTHER: if (logTypeFlags & LOG_OTHER) vprintf(buffer, args); break; + case LOG_TRACE: strcpy(buffer, "TRACE: "); break; + case LOG_DEBUG: strcpy(buffer, "DEBUG: "); break; + case LOG_INFO: strcpy(buffer, "INFO: "); ; break; + case LOG_WARNING: strcpy(buffer, "WARN: "); break; + case LOG_ERROR: strcpy(buffer, "ERROR: "); break; + case LOG_FATAL: strcpy(buffer, "FATAL: "); break; default: break; } + + strcat(buffer, text); + strcat(buffer, "\n"); + vprintf(buffer, args); #endif va_end(args); |
