Class: ASpaceLogger

Inherits:
Logger
  • Object
show all
Defined in:
common/aspace_logger.rb

Instance Method Summary (collapse)

Constructor Details

- (ASpaceLogger) initialize(logdev)

Returns a new instance of ASpaceLogger



7
8
9
10
11
# File 'common/aspace_logger.rb', line 7

def initialize(logdev)                                                                                  
  @backlog = Atomic.new([]) 
  @recording = Atomic.new(false) 
  super(logdev) 
end

Instance Method Details

- (Object) add(severity, message = nil, progname = nil, &block)



13
14
15
16
17
18
# File 'common/aspace_logger.rb', line 13

def add(severity, message = nil, progname = nil, &block)
 if @recording.value == true 
    add_to_backlog(  format_message(format_severity(severity), Time.now, progname, message)) 
 end 
 super(severity, message, progname, &block )
end

- (Object) add_to_backlog(formatted_messsage)



20
21
22
23
24
25
26
27
# File 'common/aspace_logger.rb', line 20

def add_to_backlog( formatted_messsage )
  if @backlog.value.length > 100
    flush_backlog
    stop_recording
  else
    @backlog.update { |bl| bl << formatted_messsage } 
  end 
end

- (Object) backlog



29
30
31
# File 'common/aspace_logger.rb', line 29

def backlog
  @backlog.value.join("")
end

- (Object) backlog_and_flush



47
48
49
50
51
52
# File 'common/aspace_logger.rb', line 47

def backlog_and_flush
  backlog_cache = backlog
  flush_backlog
  start_recording
  backlog_cache
end

- (Object) flush_backlog



33
34
35
# File 'common/aspace_logger.rb', line 33

def flush_backlog
  @backlog.update {  |bl| bl = [] }  
end

- (Object) start_recording



37
38
39
40
# File 'common/aspace_logger.rb', line 37

def start_recording
  return if @recording.value == true 
  @recording.update { |r|  r = true } 
end

- (Object) stop_recording



42
43
44
45
# File 'common/aspace_logger.rb', line 42

def stop_recording
  return unless @recording.value == true 
  @recording.update { |r|  r = false } 
end