Class: Cayuga::Object::Logger
- Defined in:
- lib/cayuga/object/logger.rb
Overview
Cayuga Object Logger noinspection RubyModuleAsSuperclassInspection
Instance Attribute Summary
Attributes inherited from Object
Instance Method Summary collapse
- #generic_log_file(name) ⇒ Object
- #log_appender(name) ⇒ Object
- #log_appender_name(name) ⇒ Object
- #log_filename(name) ⇒ Object (also: #[])
- #log_log!(name, filename: nil, stream: nil, filter: nil, level: :info) ⇒ Object
- #log_log?(name) ⇒ Boolean
- #log_names ⇒ Object
Methods inherited from Singleton
Methods inherited from Object
Methods included from Tools::Loggable
Instance Method Details
#generic_log_file(name) ⇒ Object
13 14 15 16 |
# File 'lib/cayuga/object/logger.rb', line 13 def generic_log_file(name) filename = name.stringify.filenamify('.log') "#{factory._logs_directory}/#{filename}" end |
#log_appender(name) ⇒ Object
32 33 34 35 36 37 38 39 40 |
# File 'lib/cayuga/object/logger.rb', line 32 def log_appender(name) all = SemanticLogger.appenders.select do |log| log.name == log_appender_name(name) end count = all.count raise "More than one log with name #{name}" if count > 1 count == 1 ? all[0] : nil end |
#log_appender_name(name) ⇒ Object
28 29 30 |
# File 'lib/cayuga/object/logger.rb', line 28 def log_appender_name(name) name.stringify + annotation end |
#log_filename(name) ⇒ Object Also known as: []
22 23 24 |
# File 'lib/cayuga/object/logger.rb', line 22 def log_filename(name) @logs[name.symbolize] end |
#log_log!(name, filename: nil, stream: nil, filter: nil, level: :info) ⇒ Object
46 47 48 49 50 51 52 53 54 55 |
# File 'lib/cayuga/object/logger.rb', line 46 def log_log!(name, filename: nil, stream: nil, filter: nil, level: :info) unless log_log?(name) remove_any_orphan_appender(name) make_appender(name, filename, stream, filter, level) logger.info('log created', name: name, annotation: fetch_annotation) logger.debug('logs', log_names: log_names) logger.debug('logs', count: SemanticLogger.appenders.count) end log_filename(name) end |
#log_log?(name) ⇒ Boolean
42 43 44 |
# File 'lib/cayuga/object/logger.rb', line 42 def log_log?(name) !@logs[name.symbolize].nil? end |
#log_names ⇒ Object
18 19 20 |
# File 'lib/cayuga/object/logger.rb', line 18 def log_names @logs.keys.freeze end |