Class: FileLoggerManager
- Inherits:
-
Object
- Object
- FileLoggerManager
- Defined in:
- lib/file_logger_manager.rb,
lib/file_logger_manager/version.rb
Constant Summary collapse
- VERSION =
"0.0.1"
Instance Method Summary collapse
- #[](name) ⇒ Object
- #close ⇒ Object
- #delete ⇒ Object
- #each ⇒ Object
- #filename(name) ⇒ Object
-
#initialize(names: nil, prefix: "logger", date: true, dir: "log") ⇒ FileLoggerManager
constructor
A new instance of FileLoggerManager.
- #list ⇒ Object
- #open(name) ⇒ Object
- #save ⇒ Object
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 |
#close ⇒ Object
48 49 50 51 52 |
# File 'lib/file_logger_manager.rb', line 48 def close @loggers.each do |key,value| value.close end end |
#delete ⇒ Object
42 43 44 45 46 |
# File 'lib/file_logger_manager.rb', line 42 def delete @loggers.each do |key,value| value.delete end end |
#each ⇒ Object
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 |
#list ⇒ Object
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 |
#save ⇒ Object
24 25 26 27 28 |
# File 'lib/file_logger_manager.rb', line 24 def save self.each do |logger| logger.save end end |