Spec-Zone.ru › Ruby on Rails 4.2

модуль ActiveSupport::TaggedLogging

Оборачивает любой стандартный объект Logger для предоставления возможностей маркировки.

logger = ActiveSupport::TaggedLogging.new(Logger.new(STDOUT))
logger.tagged('BCX') { logger.info 'Stuff' }                            # Logs "[BCX] Stuff"
logger.tagged('BCX', "Jason") { logger.info 'Stuff' }                   # Logs "[BCX] [Jason] Stuff"
logger.tagged('BCX') { logger.tagged('Jason') { logger.info 'Stuff' } } # Logs "[BCX] [Jason] Stuff"

Это используется стандартным Rails.logger в соответствии с настройками Railties, чтобы легко добавлять к записям в журнале поддомены, идентификаторы запросов и любые другие данные, помогающие в отладке многопользовательских приложений в рабочей среде.

Публичные методы класса

new(logger) Показать исходный код
# File activesupport/lib/active_support/tagged_logging.rb, line 58
def self.new(logger)
  # Ensure we set a default formatter so we aren't extending nil!
  logger.formatter ||= ActiveSupport::Logger::SimpleFormatter.new
  logger.formatter.extend Formatter
  logger.extend(self)
end

Публичные методы экземпляра

flush() Показать исходный код
# File activesupport/lib/active_support/tagged_logging.rb, line 71
def flush
  clear_tags!
  super if defined?(super)
end
Вызывает метод суперкласса
tagged(*tags) { |self| ... } Показать исходный код
# File activesupport/lib/active_support/tagged_logging.rb, line 67
def tagged(*tags)
  formatter.tagged(*tags) { yield self }
end

© 2004–2018 David Heinemeier Hansson
Licensed under the MIT License.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API