sup

A curses threads-with-tags style email client

sup.git

git clone https://supmua.dev/git/sup/
commit aedb46bc4db34f79d7ded806eeab049c7349e945
parent 7661ab60afba187a6c7105a7f8382344c14111c3
Author: Rich Lane <rlane@club.cc.cmu.edu>
Date:   Mon,  4 Jan 2010 11:19:40 -0800

add console commands to get/set loglevel

Diffstat:
M lib/sup/logger.rb | 3 ++-
M lib/sup/modes/console-mode.rb | 4 ++++
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/lib/sup/logger.rb b/lib/sup/logger.rb
@@ -14,13 +14,14 @@ class Logger
 
   def initialize level=nil
     level ||= ENV["SUP_LOG_LEVEL"] || "info"
-    @level = LEVELS.index(level) or raise ArgumentError, "invalid log level #{level.inspect}: should be one of #{LEVELS * ', '}"
+    self.level = level
     @mutex = Mutex.new
     @buf = StringIO.new
     @sinks = []
   end
 
   def level; LEVELS[@level] end
+  def level=(level); @level = LEVELS.index(level) || raise(ArgumentError, "invalid log level #{level.inspect}: should be one of #{LEVELS * ', '}"); end
 
   def add_sink s, copy_current=true
     @mutex.synchronize do
diff --git a/lib/sup/modes/console-mode.rb b/lib/sup/modes/console-mode.rb
@@ -21,6 +21,10 @@ class Console
 
   def xapian; Index.instance.instance_variable_get :@xapian; end
   def ferret; Index.instance.instance_variable_get :@index; end
+
+  def loglevel; Redwood::Logger.level; end
+  def set_loglevel(level); Redwood::Logger.level = level; end
+
   def special_methods; methods - Object.methods end
 
   ## files that won't cause problems when reloaded