четвер, 17 травня 2012 р.

Ведення логів у Mechanize

Для того, щоб проаналізувати, що пішло не так, коли Mechanize викликає виключення, виникає необхідність ведення логів. Mechanize може реєструвати практично будь-які події, включаючи заголовки запитів. Для цього потрібно передати екземпляр класу Logger у метод Mechanize#log.
# -*- encoding: utf-8 -*-

require 'mechanize'
require 'logger'

log = Logger.new($stderr)
log.level = Logger::DEBUG

agent = Mechanize.new do |a|
  a.log = log
end

agent.get('http://google.com')
Отриману інформацію надалі можна використати для аналізу подій, виявлення помилок та збоїв.
https://gist.github.com/2718143#file_mechanize1.log
Офіційна документація по класу Logger

Також існує менш відомий, але не менш корисний спосіб ведення логів за допомогою методу Mechanize#agent.http.debug_output:
# -*- encoding: utf-8 -*-

require 'mechanize'

agent = Mechanize.new do |a|
  a.agent.http.debug_output = $stderr
end

agent.get('http://google.com')
https://gist.github.com/2718143#file_mechanize2.log

Немає коментарів: