static mrb_value logger_need_log_p(mrb_state *mrb, mrb_value self) { grn_ctx *ctx = (grn_ctx *)mrb->ud; mrb_int level; mrb_get_args(mrb, "i", &level); return mrb_bool_value(grn_logger_pass(ctx, level)); }
void grn_report_index(grn_ctx *ctx, const char *action, const char *tag, grn_obj *index) { char index_name[GRN_TABLE_MAX_KEY_SIZE]; int index_name_size; if (!grn_logger_pass(ctx, GRN_REPORT_INDEX_LOG_LEVEL)) { return; } index_name_size = grn_obj_name(ctx, index, index_name, GRN_TABLE_MAX_KEY_SIZE); GRN_LOG(ctx, GRN_REPORT_INDEX_LOG_LEVEL, "%s[index]%s <%.*s>", action, tag, index_name_size, index_name); }
void grn_report_table(grn_ctx *ctx, const char *action, const char *tag, grn_obj *table) { grn_obj description; grn_obj *target; if (!grn_logger_pass(ctx, GRN_REPORT_INDEX_LOG_LEVEL)) { return; } GRN_TEXT_INIT(&description, 0); for (target = table; target; target = grn_ctx_at(ctx, target->header.domain)) { char name[GRN_TABLE_MAX_KEY_SIZE]; int name_size; name_size = grn_obj_name(ctx, target, name, GRN_TABLE_MAX_KEY_SIZE); if (GRN_TEXT_LEN(&description) > 0) { GRN_TEXT_PUTS(ctx, &description, " -> "); } if (name_size == 0) { GRN_TEXT_PUTS(ctx, &description, "(temporary)"); } else { GRN_TEXT_PUTS(ctx, &description, "<"); GRN_TEXT_PUT(ctx, &description, name, name_size); GRN_TEXT_PUTS(ctx, &description, ">"); } } GRN_LOG(ctx, GRN_REPORT_INDEX_LOG_LEVEL, "%s[table]%s %.*s", action, tag, (int)GRN_TEXT_LEN(&description), GRN_TEXT_VALUE(&description)); GRN_OBJ_FIN(ctx, &description); }