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����������������������������... ダウンロード