Class: FileLoggerManager

Inherits:
Object
  • Object
show all
Defined in:
lib/file_logger_manager.rb,
lib/file_logger_manager/version.rb

Constant Summary collapse

VERSION =
"0.0.1"

Instance Method Summary collapse

Constructor Details

#initialize(names: nil, prefix: "logger", date: true, dir: "log") ⇒ FileLoggerManager

Returns a new instance of FileLoggerManager.



5
6
7
8
9
10
11
12
13
# File 'lib/file_logger_manager.rb', line 5

def initialize(names: nil,prefix: "logger",date: true,dir: "log")
  @loggers = Hash.new
  @prefix = prefix
  @prefix += "_" + Time.now.strftime("%Y%m%d%H%M%S") if date
  @dir = dir
  names.each do |name|
    @loggers[name.to_sym] = open(name)
  end
end

Instance Method Details

#[](name) ⇒ Object



30
31
32
33
34
35
36
# File 'lib/file_logger_manager.rb', line 30

def [](name)
  unless @loggers.has_key?(name.to_sym)
    @loggers[name.to_sym] = open(name)
    STDERR.puts "New file '#{name}' was opend."
  end
  return @loggers[name.to_sym]
end

#closeObject



48
49
50
51
52
# File 'lib/file_logger_manager.rb', line 48

def close
  @loggers.each do |key,value|
    value.close
  end
end

#deleteObject



42
43
44
45
46
# File 'lib/file_logger_manager.rb', line 42

def delete
  @loggers.each do |key,value|
    value.delete
  end
end

#eachObject



54
55
56
57
58
# File 'lib/file_logger_manager.rb', line 54

def each
  @loggers.each do |key,value|
    yield(value)
  end
end

#filename(name) ⇒ Object



15
16
17
# File 'lib/file_logger_manager.rb', line 15

def filename(name)
  return "#{@dir}/#{@prefix}_"+name.to_s+".log"
end

#listObject



38
39
40
# File 'lib/file_logger_manager.rb', line 38

def list
  @loggers.keys
end

#open(name) ⇒ Object



19
20
21
22
# File 'lib/file_logger_manager.rb', line 19

def open(name)
  name = filename(name)
  return FileLogger.new(name)
end

#saveObject



24
25
26
27
28
# File 'lib/file_logger_manager.rb', line 24

def save
  self.each do |logger|
    logger.save
  end
end