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 ⇒ 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=)
- .outputters ⇒ Object (also: appenders)
- .outputters=(outputters) ⇒ Object (also: appenders=)
-
.reopen_logs ⇒ Object
Close logfiles and reopen them.
- .sanitized_logger_name(name) ⇒ Object
-
.silence! ⇒ Object
Silence Adhearsion’s logging, printing only FATAL messages.
- .start(_appenders = nil, 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 ⇒ Object
37 38 39 |
# File 'lib/adhearsion/logging.rb', line 37 def adhearsion_pattern '[%d] %-5l %c: %m\n' end |
.default_appenders ⇒ Object
86 87 88 89 90 91 92 93 94 95 96 97 |
# File 'lib/adhearsion/logging.rb', line 86 def default_appenders [::Logging.appenders.stdout( 'stdout', :layout => ::Logging.layouts.pattern( :pattern => adhearsion_pattern, :date_pattern => "%Y-%m-%d %H:%M:%S.%L", :color_scheme => 'bright' ), :auto_flushing => 2, :flush_period => 2 )] end |
.formatter ⇒ Object Also known as: layout
139 140 141 |
# File 'lib/adhearsion/logging.rb', line 139 def formatter ::Logging.logger.root.appenders.first.layout end |
.formatter=(formatter) ⇒ Object Also known as: layout=
131 132 133 134 135 |
# File 'lib/adhearsion/logging.rb', line 131 def formatter=(formatter) ::Logging.logger.root.appenders.each do |appender| appender.layout = formatter end end |
.get_logger(logger_name) ⇒ Object
109 110 111 |
# File 'lib/adhearsion/logging.rb', line 109 def get_logger(logger_name) ::Logging::Logger[logger_name] end |
.init ⇒ Object
70 71 72 73 74 75 76 |
# File 'lib/adhearsion/logging.rb', line 70 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 end |
.logging_level ⇒ Object Also known as: level
105 106 107 |
# File 'lib/adhearsion/logging.rb', line 105 def logging_level ::Logging.logger.root.level end |
.logging_level=(new_logging_level) ⇒ Object Also known as: level=
99 100 101 |
# File 'lib/adhearsion/logging.rb', line 99 def logging_level=(new_logging_level) ::Logging.logger.root.level = new_logging_level end |
.outputters ⇒ Object Also known as: appenders
125 126 127 |
# File 'lib/adhearsion/logging.rb', line 125 def outputters ::Logging.logger.root.appenders end |
.outputters=(outputters) ⇒ Object Also known as: appenders=
119 120 121 |
# File 'lib/adhearsion/logging.rb', line 119 def outputters=(outputters) ::Logging.logger.root.appenders = outputters end |
.reopen_logs ⇒ Object
Close logfiles and reopen them. Useful for log rotation.
64 65 66 67 68 |
# File 'lib/adhearsion/logging.rb', line 64 def reopen_logs logger.info "Closing logfiles." ::Logging.reopen logger.info "Logfiles reopened." end |
.sanitized_logger_name(name) ⇒ Object
115 116 117 |
# File 'lib/adhearsion/logging.rb', line 115 def sanitized_logger_name(name) name.to_s.gsub(/\W/, '').downcase end |
.silence! ⇒ Object
Silence Adhearsion’s logging, printing only FATAL messages
42 43 44 |
# File 'lib/adhearsion/logging.rb', line 42 def silence! self.logging_level = :fatal end |
.start(_appenders = nil, level = :info, formatter = nil) ⇒ Object
78 79 80 81 82 83 84 |
# File 'lib/adhearsion/logging.rb', line 78 def start(_appenders = nil, level = :info, formatter = nil) ::Logging.logger.root.appenders = _appenders.nil? ? default_appenders : _appenders ::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
53 54 55 56 57 58 59 60 61 |
# File 'lib/adhearsion/logging.rb', line 53 def toggle_trace! if level == ::Logging.level_num(Adhearsion.config.platform.logging['level']) logger.warn "Turning TRACE logging ON." self.level = :trace else logger.warn "Turning TRACE logging OFF." self.level = Adhearsion.config.platform.logging['level'] end end |
.unsilence! ⇒ Object
Restore the default configured logging level
47 48 49 |
# File 'lib/adhearsion/logging.rb', line 47 def unsilence! self.logging_level = Adhearsion.config.platform.logging['level'] end |