akiyan.com
akiya****@gmail*****
2012年 10月 1日 (月) 11:09:09 JST
初めまして、あきやんと申します。 mroonga 2.0.6をUbuntuやCentOSなど複数の環境で使用しています。 mroongaをラッパーモードで使用していいまして、 mroonga_log_file(groonga.log)に出力される filter(..) のログを止めようとしました。 しかし、mroonga_log_levelをNONEにしても止まらず、ソースコードを追跡したところ groongaのLAPマクロによってログレベルがNONEでも出力されるようになっていました。 https://github.com/groonga/groonga/blob/master/plugins/suggest/suggest.c LAP(":", "filter(%d)", grn_table_size(ctx, res)); https://github.com/groonga/groonga/blob/master/lib/ctx.h #define LAP(prefix,format,...) do {\ uint64_t et;\ grn_timeval tv;\ grn_timeval_now(ctx, &tv);\ et = (uint64_t)(tv.tv_sec - ctx->impl->tv.tv_sec) * GRN_TIME_NSEC_PER_SEC\ + (tv.tv_nsec - ctx->impl->tv.tv_nsec);\ GRN_LOG(ctx, GRN_LOG_NONE, "%p|" prefix "%015" GRN_FMT_INT64U " " format,\ ctx, et, __VA_ARGS__);\ } while (0) 推測なのですが、LAPマクロは名前の通りタイムラップを測定する意図で使われているようなので、 LAPマクロのログレベルはNONEではなくそこそこ高くても大丈夫なように思うのですが、、、 filter結果はMATCH AGAINSTを使用しただけで出力され、 アクセスが多いとログが膨大になってしまいうので、ログの運用に悩んでいます。 パッチをあててしまえばよいとは思うのですが、 そもそもどうなんだろうと疑問に思いましたので、こちらに投げさせていただきました。 よろしくお願いいたします。 あきやん akiya****@gmail*****