Module: Adhearsion::Logging
- Defined in:
- lib/adhearsion/logging.rb
Defined Under Namespace
Modules: HasLogger
Constant Summary collapse
- LOG_LEVELS =
%w(TRACE DEBUG INFO WARN ERROR FATAL)
Class Method Summary collapse
- .adhearsion_pattern_options ⇒ Object
- .default_appenders ⇒ Object
- .formatter ⇒ Object (also: layout)
- .formatter=(formatter) ⇒ Object (also: layout=)
- .get_logger(logger_name) ⇒ Object
- .init ⇒ Object
- .logging_level ⇒ Object (also: level)
- .logging_level=(new_logging_level) ⇒ Object (also: level=)
- .sanitized_logger_name(name) ⇒ Object
-
.silence! ⇒ Object
Silence Adhearsion’s logging, printing only FATAL messages.
- .start(level = :info, formatter = nil) ⇒ Object
-
.toggle_trace! ⇒ Object
Toggle between the configured log level and :trace Useful for debugging a live Adhearsion instance.
-
.unsilence! ⇒ Object
Restore the default configured logging level.
Class Method Details
.adhearsion_pattern_options ⇒ Object
37 38 39 40 41 42 |
# File 'lib/adhearsion/logging.rb', line 37 def { :pattern => '[%d] %-5l %c: %m\n', :date_pattern => '%Y-%m-%d %H:%M:%S.%L' } end |
.default_appenders ⇒ Object
82 83 84 85 86 87 88 89 90 91 92 93 |
# File 'lib/adhearsion/logging.rb', line 82 def default_appenders [::Logging.appenders.stdout( 'stdout', :layout => ::Logging.layouts.pattern( .merge( :color_scheme => 'bright' ) ), :auto_flushing => 2, :flush_period => 2 )] end |
.formatter ⇒ Object Also known as: layout
123 124 125 |
# File 'lib/adhearsion/logging.rb', line 123 def formatter ::Logging.logger.root.appenders.first.layout end |
.formatter=(formatter) ⇒ Object Also known as: layout=
115 116 117 118 119 |
# File 'lib/adhearsion/logging.rb', line 115 def formatter=(formatter) ::Logging.logger.root.appenders.each do |appender| appender.layout = formatter end end |
.get_logger(logger_name) ⇒ Object
105 106 107 |
# File 'lib/adhearsion/logging.rb', line 105 def get_logger(logger_name) ::Logging::Logger[logger_name] end |
.init ⇒ Object
66 67 68 69 70 71 72 73 74 |
# File 'lib/adhearsion/logging.rb', line 66 def init ::Logging.init LOG_LEVELS LOG_LEVELS.each do |level| Adhearsion::Logging.const_defined?(level) or Adhearsion::Logging.const_set(level, ::Logging::LEVELS[::Logging.levelify(level)]) end ::Logging.logger.root.appenders = default_appenders end |
.logging_level ⇒ Object Also known as: level
101 102 103 |
# File 'lib/adhearsion/logging.rb', line 101 def logging_level ::Logging.logger.root.level end |
.logging_level=(new_logging_level) ⇒ Object Also known as: level=
95 96 97 |
# File 'lib/adhearsion/logging.rb', line 95 def logging_level=(new_logging_level) ::Logging.logger.root.level = new_logging_level end |
.sanitized_logger_name(name) ⇒ Object
111 112 113 |
# File 'lib/adhearsion/logging.rb', line 111 def sanitized_logger_name(name) name.to_s.gsub(/\W/, '').downcase end |
.silence! ⇒ Object
Silence Adhearsion’s logging, printing only FATAL messages
45 46 47 |
# File 'lib/adhearsion/logging.rb', line 45 def silence! self.logging_level = :fatal end |
.start(level = :info, formatter = nil) ⇒ Object
76 77 78 79 80 |
# File 'lib/adhearsion/logging.rb', line 76 def start(level = :info, formatter = nil) ::Logging.logger.root.level = level self.formatter = formatter if formatter end |
.toggle_trace! ⇒ Object
Toggle between the configured log level and :trace Useful for debugging a live Adhearsion instance
56 57 58 59 60 61 62 63 64 |
# File 'lib/adhearsion/logging.rb', line 56 def toggle_trace! if level == ::Logging.level_num(Adhearsion.config.core.logging['level']) logger.warn "Turning TRACE logging ON." self.level = :trace else logger.warn "Turning TRACE logging OFF." self.level = Adhearsion.config.core.logging['level'] end end |
.unsilence! ⇒ Object
Restore the default configured logging level
50 51 52 |
# File 'lib/adhearsion/logging.rb', line 50 def unsilence! self.logging_level = Adhearsion.config.core.logging['level'] end |