[Bf-blender-cvs] [667db3ddaa2] soc-2020-info-editor: Clog: add severity debug

Mateusz Grzeliński noreply at git.blender.org
Fri Jul 31 15:52:19 CEST 2020


Commit: 667db3ddaa24870fcfa7401d7b80607f607e6a51
Author: Mateusz Grzeliński
Date:   Fri Jul 31 15:51:10 2020 +0200
Branches: soc-2020-info-editor
https://developer.blender.org/rB667db3ddaa24870fcfa7401d7b80607f607e6a51

Clog: add severity debug

===================================================================

M	intern/clog/CLG_log.h
M	intern/clog/clog.c
M	source/creator/creator_args.c

===================================================================

diff --git a/intern/clog/CLG_log.h b/intern/clog/CLG_log.h
index 87cce49f2d5..dda38552f62 100644
--- a/intern/clog/CLG_log.h
+++ b/intern/clog/CLG_log.h
@@ -102,7 +102,8 @@ enum CLG_LogFlag {
 };
 
 enum CLG_Severity {
-  CLG_SEVERITY_VERBOSE = 0,
+  CLG_SEVERITY_DEBUG = 0,
+  CLG_SEVERITY_VERBOSE,
   CLG_SEVERITY_INFO,
   CLG_SEVERITY_WARN,
   CLG_SEVERITY_ERROR,
@@ -209,7 +210,7 @@ void CLG_logref_init(CLG_LogRef *clg_ref);
   ((void)CLOG_ENSURE(clg_ref), ((clg_ref)->type->flag & CLG_FLAG_USE))
 
 #define CLOG_CHECK_VERBOSITY(clg_ref, verbose_level, ...) \
-  (CLOG_CHECK_IN_USE(clg_ref) && ((clg_ref)->type->severity_level >= CLG_SEVERITY_VERBOSE) && \
+  (CLOG_CHECK_IN_USE(clg_ref) && ((clg_ref)->type->severity_level <= CLG_SEVERITY_VERBOSE) && \
    ((clg_ref)->type->verbosity_level >= verbose_level))
 
 #define CLOG_AT_SEVERITY(clg_ref, severity, verbose_level, ...) \
@@ -217,6 +218,7 @@ void CLG_logref_init(CLG_LogRef *clg_ref);
     CLG_LogType *_lg_ty = CLOG_ENSURE(clg_ref); \
     if ((_lg_ty->flag & CLG_FLAG_USE) && severity >= _lg_ty->severity_level) { \
       switch (severity) { \
+        case CLG_SEVERITY_DEBUG: \
         case CLG_SEVERITY_VERBOSE: \
           if (verbose_level < _lg_ty->verbosity_level) { \
             break; \
@@ -239,6 +241,7 @@ void CLG_logref_init(CLG_LogRef *clg_ref);
     CLG_LogType *_lg_ty = CLOG_ENSURE(clg_ref); \
     if ((_lg_ty->flag & CLG_FLAG_USE) && severity >= _lg_ty->severity_level) { \
       switch (severity) { \
+        case CLG_SEVERITY_DEBUG: \
         case CLG_SEVERITY_VERBOSE: \
           if (verbose_level < _lg_ty->verbosity_level) { \
             break; \
@@ -257,6 +260,7 @@ void CLG_logref_init(CLG_LogRef *clg_ref);
     CLG_LogType *_lg_ty = CLOG_ENSURE(clg_ref); \
     if ((_lg_ty->flag & CLG_FLAG_USE) && severity >= _lg_ty->severity_level) { \
       switch (severity) { \
+        case CLG_SEVERITY_DEBUG: \
         case CLG_SEVERITY_VERBOSE: \
           if (verbose_level < _lg_ty->verbosity_level) { \
             break; \
@@ -273,7 +277,15 @@ void CLG_logref_init(CLG_LogRef *clg_ref);
   } \
   ((void)0)
 
-/* if needed INFO_DEBUG can be added, which should by available only in debug build */
+/* CLOG_DEBUG is the same as CLOG_VERBOSE, but available only in debug builds */
+#ifdef DEBUG
+#  define CLOG_DEBUG(clg_ref, level, ...) \
+    CLOG_AT_SEVERITY(clg_ref, CLG_SEVERITY_DEBUG, level, __VA_ARGS__)
+#else
+#  define CLOG_DEBUG(clg_ref, level, ...) \
+    do { \
+    } while (false)
+#endif  // DEBUG
 #define CLOG_VERBOSE(clg_ref, level, ...) \
   CLOG_AT_SEVERITY(clg_ref, CLG_SEVERITY_VERBOSE, level, __VA_ARGS__)
 #define CLOG_INFO(clg_ref, ...) CLOG_AT_SEVERITY(clg_ref, CLG_SEVERITY_INFO, 0, __VA_ARGS__)
@@ -281,6 +293,14 @@ void CLG_logref_init(CLG_LogRef *clg_ref);
 #define CLOG_ERROR(clg_ref, ...) CLOG_AT_SEVERITY(clg_ref, CLG_SEVERITY_ERROR, 0, __VA_ARGS__)
 #define CLOG_FATAL(clg_ref, ...) CLOG_AT_SEVERITY(clg_ref, CLG_SEVERITY_FATAL, 0, __VA_ARGS__)
 
+#ifdef DEBUG
+#  define CLOG_STR_DEBUG(clg_ref, level, ...) \
+    CLOG_STR_AT_SEVERITY(clg_ref, CLG_SEVERITY_DEBUG, level, __VA_ARGS__)
+#else
+#  define CLOG_STR_DEBUG(clg_ref, level, ...) \
+    do { \
+    } while (false)
+#endif  // DEBUG
 #define CLOG_STR_VERBOSE(clg_ref, level, str) \
   CLOG_STR_AT_SEVERITY(clg_ref, CLG_SEVERITY_VERBOSE, level, str)
 #define CLOG_STR_INFO(clg_ref, str) CLOG_STR_AT_SEVERITY(clg_ref, CLG_SEVERITY_INFO, 0, str)
@@ -289,6 +309,14 @@ void CLG_logref_init(CLG_LogRef *clg_ref);
 #define CLOG_STR_FATAL(clg_ref, str) CLOG_STR_AT_SEVERITY(clg_ref, CLG_SEVERITY_FATAL, 0, str)
 
 /* Allocated string which is immediately freed. */
+#ifdef DEBUG
+#  define CLOG_STR_DEBUG_N(clg_ref, level, ...) \
+    CLOG_STR_AT_SEVERITY_N(clg_ref, CLG_SEVERITY_DEBUG, level, __VA_ARGS__)
+#else
+#  define CLOG_STR_DEBUG_N(clg_ref, level, ...) \
+    do { \
+    } while (false)
+#endif  // DEBUG
 #define CLOG_STR_VERBOSE_N(clg_ref, level, str) \
   CLOG_STR_AT_SEVERITY(clg_ref, CLG_SEVERITY_VERBOSE, level, str)
 #define CLOG_STR_INFO_N(clg_ref, str) CLOG_STR_AT_SEVERITY_N(clg_ref, CLG_SEVERITY_INFO, 0, str)
diff --git a/intern/clog/clog.c b/intern/clog/clog.c
index fd5307693d2..17053063433 100644
--- a/intern/clog/clog.c
+++ b/intern/clog/clog.c
@@ -256,6 +256,7 @@ static void clg_color_table_init(bool use_color)
 }
 
 static const char *clg_severity_str[CLG_SEVERITY_LEN] = {
+    [CLG_SEVERITY_DEBUG] = "DEBUG",
     [CLG_SEVERITY_VERBOSE] = "VERBOSE",
     [CLG_SEVERITY_INFO] = "INFO",
     [CLG_SEVERITY_WARN] = "WARN",
@@ -280,6 +281,9 @@ static enum eCLogColor clg_severity_to_color(enum CLG_Severity severity)
   assert((unsigned int)severity < CLG_SEVERITY_LEN);
   enum eCLogColor color = COLOR_DEFAULT;
   switch (severity) {
+    case CLG_SEVERITY_DEBUG:
+      color = COLOR_DEFAULT;
+      break;
     case CLG_SEVERITY_VERBOSE:
       color = COLOR_DEFAULT;
       break;
@@ -501,7 +505,7 @@ void CLG_log_str(CLG_LogType *lg,
   }
 
   write_severity(&cstr, severity, lg->ctx->use_color);
-  if (severity == CLG_SEVERITY_VERBOSE) {
+  if (severity <= CLG_SEVERITY_VERBOSE) {
     char verbosity_str[8];
     sprintf(verbosity_str, ":%u", verbosity);
     clg_str_append(&cstr, verbosity_str);
@@ -567,7 +571,7 @@ void CLG_logf(CLG_LogType *lg,
   }
 
   write_severity(&cstr, severity, lg->ctx->use_color);
-  if (severity == CLG_SEVERITY_VERBOSE) {
+  if (severity <= CLG_SEVERITY_VERBOSE) {
     char verbosity_str[8];
     sprintf(verbosity_str, ":%u", verbosity);
     clg_str_append(&cstr, verbosity_str);
diff --git a/source/creator/creator_args.c b/source/creator/creator_args.c
index 1b6f0a68013..b30f9f66c16 100644
--- a/source/creator/creator_args.c
+++ b/source/creator/creator_args.c
@@ -764,15 +764,15 @@ static int arg_handle_background_mode_set(int UNUSED(argc),
 
 static const char arg_handle_log_severity_set_doc[] =
     "<level>\n"
-    "\tSet the logging severity level defaults to 1 (INFO),\n"
-    "\tAvailable: 0 (VERBOSE), 1 (INFO), 2 (WARN), 3 (ERROR), 4 (FATAL)";
+    "\tSet the logging severity level,\n"
+    "\tAvailable: 0 (DEBUG, only debug builds), 1 (VERBOSE), 2 (INFO), 3 (WARN), 4 (ERROR), 5 (FATAL)";
 static int arg_handle_log_severity_set(int argc, const char **argv, void *UNUSED(data))
 {
   const char *arg_id = "--log-severity";
   if (argc > 1) {
     const char *err_msg = NULL;
-    int severity_level = CLG_SEVERITY_INFO;
-    if (!parse_int_clamp(argv[1], NULL, 0, 4, &severity_level, &err_msg)) {
+    int severity_level = CLG_SEVERITY_WARN;
+    if (!parse_int_clamp(argv[1], NULL, 0, 5, &severity_level, &err_msg)) {
       printf("\nError: %s '%s %s'.\n", err_msg, arg_id, argv[1]);
     }
     else {



More information about the Bf-blender-cvs mailing list