[Bf-blender-cvs] [c7cfee04c4d] master: Logging: setting log level wasn't working

Campbell Barton noreply at git.blender.org
Fri May 4 08:01:57 CEST 2018


Commit: c7cfee04c4dd9dcafebe1659d7f7cf1ffd7ff14e
Author: Campbell Barton
Date:   Fri May 4 08:00:22 2018 +0200
Branches: master
https://developer.blender.org/rBc7cfee04c4dd9dcafebe1659d7f7cf1ffd7ff14e

Logging: setting log level wasn't working

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

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 8afa9edd75b..ff8f983b10c 100644
--- a/intern/clog/CLG_log.h
+++ b/intern/clog/CLG_log.h
@@ -150,6 +150,8 @@ void CLG_fatal_fn_set(void (*fatal_fn)(void *file_handle));
 void CLG_type_filter_include(const char *type_filter, int type_filter_len);
 void CLG_type_filter_exclude(const char *type_filter, int type_filter_len);
 
+void CLG_level_set(int level);
+
 void CLG_logref_init(CLG_LogRef *clg_ref);
 
 /** Declare outside function, declare as extern in header. */
diff --git a/intern/clog/clog.c b/intern/clog/clog.c
index dc0229e0748..e93ba9ec2b7 100644
--- a/intern/clog/clog.c
+++ b/intern/clog/clog.c
@@ -492,6 +492,14 @@ static void CLG_ctx_type_filter_include(CLogContext *ctx, const char *type_match
 	clg_ctx_type_filter_append(&ctx->filters[1], type_match, type_match_len);
 }
 
+static void CLG_ctx_level_set(CLogContext *ctx, int level)
+{
+	ctx->default_type.level = level;
+	for (CLG_LogType *ty = ctx->types; ty; ty = ty->next) {
+		ty->level = level;
+	}
+}
+
 static CLogContext *CLG_ctx_init(void)
 {
 	CLogContext *ctx = MEM_callocN(sizeof(*ctx), __func__);
@@ -569,6 +577,12 @@ void CLG_type_filter_include(const char *type_match, int type_match_len)
 	CLG_ctx_type_filter_include(g_ctx, type_match, type_match_len);
 }
 
+void CLG_level_set(int level)
+{
+	CLG_ctx_level_set(g_ctx, level);
+}
+
+
 /** \} */
 
 /* -------------------------------------------------------------------- */
diff --git a/source/creator/creator_args.c b/source/creator/creator_args.c
index 1baae1864bf..675f2621942 100644
--- a/source/creator/creator_args.c
+++ b/source/creator/creator_args.c
@@ -725,8 +725,11 @@ static int arg_handle_log_level_set(int argc, const char **argv, void *UNUSED(da
 		if (!parse_int_clamp(argv[1], NULL, -1, INT_MAX, &G.log.level, &err_msg)) {
 			printf("\nError: %s '%s %s'.\n", err_msg, arg_id, argv[1]);
 		}
-		if (G.log.level == -1) {
-			G.log.level = INT_MAX;
+		else {
+			if (G.log.level == -1) {
+				G.log.level = INT_MAX;
+			}
+			CLG_level_set(G.log.level);
 		}
 		return 1;
 	}



More information about the Bf-blender-cvs mailing list