[Groonga-commit] groonga/groonga at afab165 [master] mrb: Logger.default_level returns Logger::Level

Back to archive index

Kouhei Sutou null+****@clear*****
Wed Jun 7 16:28:44 JST 2017


Kouhei Sutou	2017-06-07 16:28:44 +0900 (Wed, 07 Jun 2017)

  New Revision: afab165a148186c2924693b09a0347b5f5b86dee
  https://github.com/groonga/groonga/commit/afab165a148186c2924693b09a0347b5f5b86dee

  Message:
    mrb: Logger.default_level returns Logger::Level

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

  Modified: lib/mrb/mrb_logger.c (+6 -2)
===================================================================
--- lib/mrb/mrb_logger.c    2017-06-07 16:14:38 +0900 (3e93a6f)
+++ lib/mrb/mrb_logger.c    2017-06-07 16:28:44 +0900 (3ba09d0)
@@ -37,8 +37,12 @@ logger_s_get_default_path(mrb_state *mrb, mrb_value self)
 static mrb_value
 logger_s_get_default_level(mrb_state *mrb, mrb_value self)
 {
-  return mrb_str_new_cstr(mrb,
-                          grn_log_level_to_string(grn_default_logger_get_max_level()));
+  mrb_value mrb_level_class;
+  mrb_value mrb_level;
+
+  mrb_level_class = mrb_const_get(mrb, self, mrb_intern_lit(mrb, "Level"));
+  mrb_level = mrb_fixnum_value(grn_default_logger_get_max_level());
+  return mrb_funcall(mrb, mrb_level_class, "find", 1, mrb_level);
 }
 
 static mrb_value

  Modified: lib/mrb/scripts/command_line_parser.rb (+3 -2)
===================================================================
--- lib/mrb/scripts/command_line_parser.rb    2017-06-07 16:14:38 +0900 (252a977)
+++ lib/mrb/scripts/command_line_parser.rb    2017-06-07 16:28:44 +0900 (7dad55a)
@@ -93,9 +93,10 @@ module Groonga
       options.string("--log-path",
                      "Change log path (#{Logger.default_path})",
                      default: Logger.default_path)
+      default_log_level = Logger.default_level
       options.string("--log-level",
-                     "Change log level (#{Logger.default_log_level.upcase})",
-                     default: Logger::Level.find(Logger.default_log_level.intern).to_i)
+                     "Change log level (#{default_log_level.name})",
+                     default: default_log_level)
     end
 
     def find_command(name)

  Modified: lib/mrb/scripts/logger/level.rb (+8 -2)
===================================================================
--- lib/mrb/scripts/logger/level.rb    2017-06-07 16:14:38 +0900 (ab0a984)
+++ lib/mrb/scripts/logger/level.rb    2017-06-07 16:28:44 +0900 (4b8afa2)
@@ -2,15 +2,21 @@ module Groonga
   class Logger
     class Level
       @@names = {}
+      @@levels = {}
       class << self
-        def find(name)
-          @@names[name]
+        def find(name_or_level)
+          if name_or_level.is_a?(Integer)
+            @@levels[name_or_level]
+          else
+            @@names[name_or_level]
+          end
         end
       end
 
       attr_reader :name
       def initialize(name, level)
         @@names[name] = self
+        @@levels[level] = self
         @name  = name
         @level = level
       end
-------------- next part --------------
HTML����������������������������...
Download 



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