]> git.cworth.org Git - sup/blobdiff - lib/sup/logger.rb
SentManager: rework handling to allow for user specified source
[sup] / lib / sup / logger.rb
index 95cff62a455a65f2d4a2019ac718d8cbce5df706..4ac6551bff21e50ab45704f295d6d930edf1ce6d 100644 (file)
@@ -18,14 +18,25 @@ class Logger
   def make_buf
     return if @mode.buffer || !BufferManager.instantiated? || !@respawn || @spawning
     @spawning = true
-    @mode.buffer = BufferManager.instance.spawn "<log>", @mode, :hidden => true
+    @mode.buffer = BufferManager.instance.spawn "log", @mode, :hidden => true, :system => true
     @spawning = false
   end
 
   def log s
 #    $stderr.puts s
     make_buf
-    @mode << "#{Time.now}: #{s.chomp}\n"
+    prefix = "#{Time.now}: "
+    padding = " " * prefix.length
+    first = true
+    s.split(/[\r\n]/).each do |l|
+      l = l.chomp
+      if first
+        first = false
+        @mode << "#{prefix}#{l}\n"
+      else
+        @mode << "#{padding}#{l}\n"
+      end
+    end
     $stderr.puts "[#{Time.now}] #{s.chomp}" unless BufferManager.instantiated? && @mode.buffer
   end
   
@@ -40,3 +51,4 @@ class Logger
 end
 
 end
+