Kouhei Sutou
null+****@clear*****
Mon Jun 16 16:55:53 JST 2014
Kouhei Sutou 2014-06-16 16:55:53 +0900 (Mon, 16 Jun 2014) New Revision: d62f46bd6d46c2707c6aed5a12b4cec4af30327b https://github.com/groonga/groonga/commit/d62f46bd6d46c2707c6aed5a12b4cec4af30327b Message: Remove query log size limitation Modified files: lib/ctx.c lib/ctx_impl.h Modified: lib/ctx.c (+9 -5) =================================================================== --- lib/ctx.c 2014-06-16 16:54:22 +0900 (0137a68) +++ lib/ctx.c 2014-06-16 16:55:53 +0900 (a419081) @@ -503,6 +503,8 @@ grn_ctx_impl_init(grn_ctx *ctx) grn_loader_init(&ctx->impl->loader); ctx->impl->plugin_path = NULL; + GRN_TEXT_INIT(&ctx->impl->query_log_buf, 0); + ctx->impl->previous_errbuf[0] = '\0'; ctx->impl->n_same_error_messages = 0; @@ -651,6 +653,7 @@ grn_ctx_fin(grn_ctx *ctx) } GRN_OBJ_FIN(ctx, &ctx->impl->names); GRN_OBJ_FIN(ctx, &ctx->impl->levels); + GRN_OBJ_FIN(ctx, &ctx->impl->query_log_buf); rc = grn_obj_close(ctx, ctx->impl->outbuf); { grn_hash **vp; @@ -1099,7 +1102,6 @@ grn_query_logger_pass(grn_ctx *ctx, unsigned int flag) #define TIMESTAMP_BUFFER_SIZE TBUFSIZE /* 8+a(%p) + 1(|) + 1(mark) + 15(elapsed time) = 25+a */ #define INFO_BUFFER_SIZE 40 -#define MESSAGE_BUFFER_SIZE MBUFSIZE void grn_query_logger_put(grn_ctx *ctx, unsigned int flag, const char *mark, @@ -1107,7 +1109,7 @@ grn_query_logger_put(grn_ctx *ctx, unsigned int flag, const char *mark, { char timestamp[TIMESTAMP_BUFFER_SIZE]; char info[INFO_BUFFER_SIZE]; - char message[MESSAGE_BUFFER_SIZE]; + grn_obj *message = &ctx->impl->query_log_buf; if (!current_query_logger.log) { return; @@ -1138,13 +1140,15 @@ grn_query_logger_put(grn_ctx *ctx, unsigned int flag, const char *mark, { va_list args; + va_start(args, format); - vsnprintf(message, MESSAGE_BUFFER_SIZE - 1, format, args); + GRN_BULK_REWIND(message); + grn_text_vprintf(ctx, message, format, args); va_end(args); - message[MESSAGE_BUFFER_SIZE - 1] = '\0'; + GRN_TEXT_PUTC(ctx, message, '\0'); } - current_query_logger.log(ctx, flag, timestamp, info, message, + current_query_logger.log(ctx, flag, timestamp, info, GRN_TEXT_VALUE(message), current_query_logger.user_data); } Modified: lib/ctx_impl.h (+2 -0) =================================================================== --- lib/ctx_impl.h 2014-06-16 16:54:22 +0900 (5710aa7) +++ lib/ctx_impl.h 2014-06-16 16:55:53 +0900 (33f1402) @@ -168,6 +168,8 @@ struct _grn_ctx_impl { uint64_t u64; } data; + grn_obj query_log_buf; + char previous_errbuf[GRN_CTX_MSGSIZE]; unsigned int n_same_error_messages; -------------- next part -------------- HTML����������������������������... 下载