Class: LS4::LogService

Inherits:
Service show all
Defined in:
lib/ls4/service/log.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Service

init

Methods included from EventBus::SingletonMixin

#ebus_bind!, #ebus_connect, extended

Methods included from EventBus::BusMixin

#ebus_all_slots, #ebus_disconnect!

Methods included from EventBus::DeclarerBase::Methods

#connect, #ebus_all_slots, #ebus_call_log, #ebus_call_slots, #ebus_signal_error, #ebus_signal_log, #ebus_signal_slots

Methods included from EventBus::DeclarerBase

#call_slot, #signal_slot

Constructor Details

#initializeLogService

Returns a new instance of LogService.



25
26
27
# File 'lib/ls4/service/log.rb', line 25

def initialize
  @out = nil
end

Class Method Details

.open!Object



29
30
31
# File 'lib/ls4/service/log.rb', line 29

def self.open!
  init.open
end

Instance Method Details

#log_event_busObject



58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# File 'lib/ls4/service/log.rb', line 58

def log_event_bus
  $log.on_trace do
    LS4.constants.each {|const|
      klass = LS4.const_get(const)
      if klass.is_a?(Class) && klass < Bus
        bus = klass
        name = bus.name.gsub('LS4::','')
        $log.trace name
        bus.ebus_all_slots.each {|s|
          s = s.to_s.gsub('LS4::','')
          $log.trace "  #{s}"
        }
      end
    }
  end
end

#on_sighupObject



40
41
42
43
44
45
46
47
48
49
# File 'lib/ls4/service/log.rb', line 40

def on_sighup
  if path = ConfigBus.get_log_path
    out = File.open(path, "a")
    if @out
      @out.close
      @out = nil
    end
    @out = $log.out = out
  end
end

#openObject



33
34
35
36
37
38
# File 'lib/ls4/service/log.rb', line 33

def open
  if path = ConfigBus.get_log_path
    out = File.open(path, "a")
    @out = $log.out = out
  end
end

#shutdownObject



51
52
53
54
55
56
# File 'lib/ls4/service/log.rb', line 51

def shutdown
  if @out
    @out.close
    @out = nil
  end
end