Class: BlackStack::BaseLogger

Inherits:
Object
  • Object
show all
Defined in:
lib/baselogger.rb

Direct Known Subclasses

LocalLogger, RemoteLogger

Constant Summary collapse

METHOD_LOG =
'log'
METHOD_LOGS =
'logs'
METHOD_LOGF =
'logf'
METHODS =
[METHOD_LOG, METHOD_LOGS, METHOD_LOGF]

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(the_filename) ⇒ BaseLogger

Returns a new instance of BaseLogger.



16
17
18
19
# File 'lib/baselogger.rb', line 16

def initialize(the_filename)
  self.filename = the_filename
  self.initialize_attributes
end

Instance Attribute Details

#current_nest_level ⇒ Object

Returns the value of attribute current_nest_level.



8
9
10
# File 'lib/baselogger.rb', line 8

def current_nest_level
  @current_nest_level
end

#filename ⇒ Object

Returns the value of attribute filename.



8
9
10
# File 'lib/baselogger.rb', line 8

def filename
  @filename
end

#nest_level ⇒ Object

Returns the value of attribute nest_level.



8
9
10
# File 'lib/baselogger.rb', line 8

def nest_level
  @nest_level
end

#number_of_lines_in_current_level ⇒ Object

Returns the value of attribute number_of_lines_in_current_level.



8
9
10
# File 'lib/baselogger.rb', line 8

def number_of_lines_in_current_level
  @number_of_lines_in_current_level
end

Instance Method Details

#done ⇒ Object



91
92
93
# File 'lib/baselogger.rb', line 91

def done()
  self.logf("done")
end

#error(e = nil) ⇒ Object



95
96
97
98
# File 'lib/baselogger.rb', line 95

def error(e=nil)
  self.logf("error") if e.nil?
  self.logf("error:#{e.to_s}.") if !e.nil?
end

#initialize_attributes ⇒ Object



10
11
12
13
14
# File 'lib/baselogger.rb', line 10

def initialize_attributes()
  self.nest_level = 0
  self.current_nest_level = 0
  self.number_of_lines_in_current_level = 0      
end

#log(s, datetime = nil) ⇒ Object



25
26
27
28
29
30
31
# File 'lib/baselogger.rb', line 25

def log(s, datetime=nil)
  t = !datetime.nil? ? datetime : Time.now 
  ltime = t.strftime("%Y-%m-%d %H:%M:%S").to_s
  ltext = ltime + ": " + s + "\r\n"
  print ltext
  ltext
end

#logf(s, datetime = nil) ⇒ Object



63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# File 'lib/baselogger.rb', line 63

def logf(s, datetime=nil)
  t = !datetime.nil? ? datetime : Time.now 
  ltime = t.strftime("%Y-%m-%d %H:%M:%S").to_s

  ltext = ""
  if self.number_of_lines_in_current_level > 0
    i=1
    while (i<self.nest_level)
      ltext += " > "
      i+=1
    end
    ltext += ltime + ": "
  end # if self.number_of_lines_in_current_level == 0
  
  self.nest_level -= 1
  self.number_of_lines_in_current_level += 1

  ltext += s + "\n"

  print ltext
  
  ltext
end

#logs(s, datetime = nil) ⇒ Object



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/baselogger.rb', line 33

def logs(s, datetime=nil)
  t = !datetime.nil? ? datetime : Time.now 
  ltime = t.strftime("%Y-%m-%d %H:%M:%S").to_s

  ltext = ""
  self.nest_level += 1
  self.number_of_lines_in_current_level = 0
  
  if self.current_nest_level != self.nest_level 
    ltext += "\n"
  end
  
  i=1
  while (i<self.nest_level)
    ltext += " > "
    i+=1
  end

  ltext += ltime + ": " + s
              
  #File.open(self.filename, 'a') { |file| file.write(ltext) }
  print ltext
  
  #
  self.current_nest_level = self.nest_level

  #
  ltext
end

#no ⇒ Object



104
105
106
# File 'lib/baselogger.rb', line 104

def no()
  self.logf("no")
end

#release ⇒ Object



87
88
89
# File 'lib/baselogger.rb', line 87

def release()
  raise "This is an abstract method."
end

#reset ⇒ Object



21
22
23
# File 'lib/baselogger.rb', line 21

def reset()
  self.initialize_attributes
end

#yes ⇒ Object



100
101
102
# File 'lib/baselogger.rb', line 100

def yes()
  self.logf("yes")
end