[Groonga-commit] groonga/groonga at 51ddf1c [master] mrb: make Logger#log more convenient

Back to archive index

Kouhei Sutou null+****@clear*****
Fri Mar 30 09:48:42 JST 2018


Kouhei Sutou	2018-03-30 09:48:42 +0900 (Fri, 30 Mar 2018)

  New Revision: 51ddf1ccbec0e579e3727444e2e526db00be2250
  https://github.com/groonga/groonga/commit/51ddf1ccbec0e579e3727444e2e526db00be2250

  Message:
    mrb: make Logger#log more convenient

  Modified files:
    lib/mrb/mrb_logger.c
    lib/mrb/scripts/logger.rb

  Modified: lib/mrb/mrb_logger.c (+2 -2)
===================================================================
--- lib/mrb/mrb_logger.c    2018-03-29 11:38:52 +0900 (3ba09d029)
+++ lib/mrb/mrb_logger.c    2018-03-30 09:48:42 +0900 (fcdaee3a4)
@@ -57,7 +57,7 @@ logger_need_log_p(mrb_state *mrb, mrb_value self)
 }
 
 static mrb_value
-logger_log(mrb_state *mrb, mrb_value self)
+logger_log_raw(mrb_state *mrb, mrb_value self)
 {
   grn_ctx *ctx = (grn_ctx *)mrb->ud;
   mrb_int level;
@@ -91,7 +91,7 @@ grn_mrb_logger_init(grn_ctx *ctx)
                               logger_s_get_default_level, MRB_ARGS_NONE());
 
   mrb_define_method(mrb, klass, "need_log?", logger_need_log_p, MRB_ARGS_REQ(1));
-  mrb_define_method(mrb, klass, "log", logger_log, MRB_ARGS_REQ(5));
+  mrb_define_method(mrb, klass, "log_raw", logger_log_raw, MRB_ARGS_REQ(5));
 
   grn_mrb_load(ctx, "logger/level.rb");
   grn_mrb_load(ctx, "logger.rb");

  Modified: lib/mrb/scripts/logger.rb (+23 -0)
===================================================================
--- lib/mrb/scripts/logger.rb    2018-03-29 11:38:52 +0900 (95f86974d)
+++ lib/mrb/scripts/logger.rb    2018-03-30 09:48:42 +0900 (4d4601c29)
@@ -1,5 +1,28 @@
 module Groonga
   class Logger
+    def log(log_level, *args)
+      case log_level
+      when Symbol
+        log_level = Level.find(log_level).to_i
+      when String
+        log_level = Level.find(log_level.to_sym).to_i
+      when Level
+        log_level = log_level.to_i
+      end
+
+      if args.size == 1
+        entry = BacktraceEntry.parse(caller(1, 1)[0])
+        file = entry.file
+        line = entry.line
+        method = entry.method
+        message = args[0]
+      else
+        file, line, method, message = args
+      end
+
+      log_raw(log_level, file, line, method, message)
+    end
+
     def log_error(error)
       log_level = Level::ERROR.to_i
 
-------------- next part --------------
HTML����������������������������...
URL: https://lists.osdn.me/mailman/archives/groonga-commit/attachments/20180330/a7ea45e8/attachment-0001.htm 



More information about the Groonga-commit mailing list
Back to archive index