[Groonga-commit] groonga/groonga at 24781cf [master] log_level log_put: accept log level name for --level argument

アーカイブの一覧に戻る

Kouhei Sutou null+****@clear*****
Mon Jul 27 17:37:42 JST 2015


Kouhei Sutou	2015-07-27 17:37:42 +0900 (Mon, 27 Jul 2015)

  New Revision: 24781cf8c484b6cf1c8265a91ee77c28494e8d6e
  https://github.com/groonga/groonga/commit/24781cf8c484b6cf1c8265a91ee77c28494e8d6e

  Message:
    log_level log_put: accept log level name for --level argument

  Added files:
    test/command/suite/log_level/abbreviated_name.expected
    test/command/suite/log_level/abbreviated_name.test
    test/command/suite/log_level/full_name.expected
    test/command/suite/log_level/full_name.test
    test/command/suite/log_level/one_character.expected
    test/command/suite/log_level/one_character.test
    test/command/suite/log_level/unknown.expected
    test/command/suite/log_level/unknown.test
    test/command/suite/log_level/upper_case.expected
    test/command/suite/log_level/upper_case.test
    test/command/suite/log_put/level/abbreviated_name.expected
    test/command/suite/log_put/level/abbreviated_name.test
    test/command/suite/log_put/level/full_name.expected
    test/command/suite/log_put/level/full_name.test
    test/command/suite/log_put/level/one_character.expected
    test/command/suite/log_put/level/one_character.test
    test/command/suite/log_put/level/unknown.expected
    test/command/suite/log_put/level/unknown.test
    test/command/suite/log_put/level/upper_case.expected
    test/command/suite/log_put/level/upper_case.test
  Modified files:
    lib/proc.c

  Modified: lib/proc.c (+25 -14)
===================================================================
--- lib/proc.c    2015-07-27 17:37:21 +0900 (360ac04)
+++ lib/proc.c    2015-07-27 17:37:42 +0900 (d249e35)
@@ -2558,18 +2558,21 @@ proc_defrag(grn_ctx *ctx, int nargs, grn_obj **args, grn_user_data *user_data)
   return NULL;
 }
 
-static char slev[] = " EACewnid-";
-
 static grn_obj *
 proc_log_level(grn_ctx *ctx, int nargs, grn_obj **args, grn_user_data *user_data)
 {
-  char *p;
-  if (GRN_TEXT_LEN(VAR(0)) &&
-      (p = strchr(slev, GRN_TEXT_VALUE(VAR(0))[0]))) {
-    grn_log_level max_level = (grn_log_level)(p - slev);
-    grn_logger_set_max_level(ctx, max_level);
+  grn_obj *level_name = VAR(0);
+  if (GRN_TEXT_LEN(level_name) > 0) {
+    grn_log_level max_level;
+    GRN_TEXT_PUTC(ctx, level_name, '\0');
+    if (grn_log_level_parse(GRN_TEXT_VALUE(level_name), &max_level)) {
+      grn_logger_set_max_level(ctx, max_level);
+    } else {
+      ERR(GRN_INVALID_ARGUMENT,
+          "invalid log level: <%s>", GRN_TEXT_VALUE(level_name));
+    }
   } else {
-    ERR(GRN_INVALID_ARGUMENT, "invalid log level.");
+    ERR(GRN_INVALID_ARGUMENT, "log level is missing");
   }
   GRN_OUTPUT_BOOL(!ctx->rc);
   return NULL;
@@ -2578,13 +2581,21 @@ proc_log_level(grn_ctx *ctx, int nargs, grn_obj **args, grn_user_data *user_data
 static grn_obj *
 proc_log_put(grn_ctx *ctx, int nargs, grn_obj **args, grn_user_data *user_data)
 {
-  char *p;
-  if (GRN_TEXT_LEN(VAR(0)) &&
-      (p = strchr(slev, GRN_TEXT_VALUE(VAR(0))[0]))) {
-    GRN_TEXT_PUTC(ctx, VAR(1), '\0');
-    GRN_LOG(ctx, (int)(p - slev), "%s", GRN_TEXT_VALUE(VAR(1)));
+  grn_obj *level_name = VAR(0);
+  grn_obj *message = VAR(1);
+  if (GRN_TEXT_LEN(level_name) > 0) {
+    grn_log_level level;
+    GRN_TEXT_PUTC(ctx, level_name, '\0');
+    if (grn_log_level_parse(GRN_TEXT_VALUE(level_name), &level)) {
+      GRN_LOG(ctx, level, "%.*s",
+              (int)GRN_TEXT_LEN(message),
+              GRN_TEXT_VALUE(message));
+    } else {
+      ERR(GRN_INVALID_ARGUMENT,
+          "invalid log level: <%s>", GRN_TEXT_VALUE(level_name));
+    }
   } else {
-    ERR(GRN_INVALID_ARGUMENT, "invalid log level.");
+    ERR(GRN_INVALID_ARGUMENT, "log level is missing");
   }
   GRN_OUTPUT_BOOL(!ctx->rc);
   return NULL;

  Added: test/command/suite/log_level/abbreviated_name.expected (+2 -0) 100644
===================================================================
--- /dev/null
+++ test/command/suite/log_level/abbreviated_name.expected    2015-07-27 17:37:42 +0900 (c61efc0)
@@ -0,0 +1,2 @@
+log_level crit
+[[0,0.0,0.0],true]

  Added: test/command/suite/log_level/abbreviated_name.test (+1 -0) 100644
===================================================================
--- /dev/null
+++ test/command/suite/log_level/abbreviated_name.test    2015-07-27 17:37:42 +0900 (1fdf900)
@@ -0,0 +1 @@
+log_level crit

  Added: test/command/suite/log_level/full_name.expected (+2 -0) 100644
===================================================================
--- /dev/null
+++ test/command/suite/log_level/full_name.expected    2015-07-27 17:37:42 +0900 (772bf7c)
@@ -0,0 +1,2 @@
+log_level critical
+[[0,0.0,0.0],true]

  Added: test/command/suite/log_level/full_name.test (+1 -0) 100644
===================================================================
--- /dev/null
+++ test/command/suite/log_level/full_name.test    2015-07-27 17:37:42 +0900 (6ccf448)
@@ -0,0 +1 @@
+log_level critical

  Added: test/command/suite/log_level/one_character.expected (+2 -0) 100644
===================================================================
--- /dev/null
+++ test/command/suite/log_level/one_character.expected    2015-07-27 17:37:42 +0900 (1fa575c)
@@ -0,0 +1,2 @@
+log_level C
+[[0,0.0,0.0],true]

  Added: test/command/suite/log_level/one_character.test (+1 -0) 100644
===================================================================
--- /dev/null
+++ test/command/suite/log_level/one_character.test    2015-07-27 17:37:42 +0900 (39958e4)
@@ -0,0 +1 @@
+log_level C

  Added: test/command/suite/log_level/unknown.expected (+3 -0) 100644
===================================================================
--- /dev/null
+++ test/command/suite/log_level/unknown.expected    2015-07-27 17:37:42 +0900 (199ef37)
@@ -0,0 +1,3 @@
+log_level Unknown
+[[[-22,0.0,0.0],"invalid log level: <Unknown>"],false]
+#|e| invalid log level: <Unknown>

  Added: test/command/suite/log_level/unknown.test (+1 -0) 100644
===================================================================
--- /dev/null
+++ test/command/suite/log_level/unknown.test    2015-07-27 17:37:42 +0900 (809ad41)
@@ -0,0 +1 @@
+log_level Unknown

  Added: test/command/suite/log_level/upper_case.expected (+2 -0) 100644
===================================================================
--- /dev/null
+++ test/command/suite/log_level/upper_case.expected    2015-07-27 17:37:42 +0900 (7e581f7)
@@ -0,0 +1,2 @@
+log_level CRITICAL
+[[0,0.0,0.0],true]

  Added: test/command/suite/log_level/upper_case.test (+1 -0) 100644
===================================================================
--- /dev/null
+++ test/command/suite/log_level/upper_case.test    2015-07-27 17:37:42 +0900 (484e472)
@@ -0,0 +1 @@
+log_level CRITICAL

  Added: test/command/suite/log_put/level/abbreviated_name.expected (+3 -0) 100644
===================================================================
--- /dev/null
+++ test/command/suite/log_put/level/abbreviated_name.expected    2015-07-27 17:37:42 +0900 (ede14b7)
@@ -0,0 +1,3 @@
+log_put crit message
+[[0,0.0,0.0],true]
+#|C| message

  Added: test/command/suite/log_put/level/abbreviated_name.test (+1 -0) 100644
===================================================================
--- /dev/null
+++ test/command/suite/log_put/level/abbreviated_name.test    2015-07-27 17:37:42 +0900 (a913e1a)
@@ -0,0 +1 @@
+log_put crit message

  Added: test/command/suite/log_put/level/full_name.expected (+3 -0) 100644
===================================================================
--- /dev/null
+++ test/command/suite/log_put/level/full_name.expected    2015-07-27 17:37:42 +0900 (ea59178)
@@ -0,0 +1,3 @@
+log_put critical message
+[[0,0.0,0.0],true]
+#|C| message

  Added: test/command/suite/log_put/level/full_name.test (+1 -0) 100644
===================================================================
--- /dev/null
+++ test/command/suite/log_put/level/full_name.test    2015-07-27 17:37:42 +0900 (9edb12b)
@@ -0,0 +1 @@
+log_put critical message

  Added: test/command/suite/log_put/level/one_character.expected (+3 -0) 100644
===================================================================
--- /dev/null
+++ test/command/suite/log_put/level/one_character.expected    2015-07-27 17:37:42 +0900 (f0dcfac)
@@ -0,0 +1,3 @@
+log_put C message
+[[0,0.0,0.0],true]
+#|C| message

  Added: test/command/suite/log_put/level/one_character.test (+1 -0) 100644
===================================================================
--- /dev/null
+++ test/command/suite/log_put/level/one_character.test    2015-07-27 17:37:42 +0900 (1902e66)
@@ -0,0 +1 @@
+log_put C message

  Added: test/command/suite/log_put/level/unknown.expected (+3 -0) 100644
===================================================================
--- /dev/null
+++ test/command/suite/log_put/level/unknown.expected    2015-07-27 17:37:42 +0900 (766909d)
@@ -0,0 +1,3 @@
+log_put Unknown message
+[[[-22,0.0,0.0],"invalid log level: <Unknown>"],false]
+#|e| invalid log level: <Unknown>

  Added: test/command/suite/log_put/level/unknown.test (+1 -0) 100644
===================================================================
--- /dev/null
+++ test/command/suite/log_put/level/unknown.test    2015-07-27 17:37:42 +0900 (6b1e8ea)
@@ -0,0 +1 @@
+log_put Unknown message

  Added: test/command/suite/log_put/level/upper_case.expected (+3 -0) 100644
===================================================================
--- /dev/null
+++ test/command/suite/log_put/level/upper_case.expected    2015-07-27 17:37:42 +0900 (69874e3)
@@ -0,0 +1,3 @@
+log_put CRITICAL message
+[[0,0.0,0.0],true]
+#|C| message

  Added: test/command/suite/log_put/level/upper_case.test (+1 -0) 100644
===================================================================
--- /dev/null
+++ test/command/suite/log_put/level/upper_case.test    2015-07-27 17:37:42 +0900 (48fd228)
@@ -0,0 +1 @@
+log_put CRITICAL message
-------------- next part --------------
HTML����������������������������...
ダウンロード 



More information about the Groonga-commit mailing list
アーカイブの一覧に戻る