class Digup::Logger

Public Class Methods

file_path() click to toggle source
# File lib/digup/logger.rb, line 5
def self.file_path
  Rails.root.join('log', 'digup.log').to_s
end
new(responder) click to toggle source
# File lib/digup/logger.rb, line 9
def initialize(responder)
  @responder = responder
end

Public Instance Methods

log_all() click to toggle source

log to every available option

# File lib/digup/logger.rb, line 58
def log_all
  if Digup.message_store.present?
    log_to_html_body if Setting.log_to_html_body?
    log_to_console if Setting.log_to_console?
    log_to_db if Setting.log_to_db?
    log_to_file if Setting.log_to_file?
  end
end
log_to_console() click to toggle source

appends log as web console

# File lib/digup/logger.rb, line 27
def log_to_console
  template = case
    when @responder.html_response?
      Template.console_template_for_html_response
    when @responder.javascript_response?
      Template.console_template_for_javascript_response
    when !Setting.log_to_html_body?
      new_json_template
  end
  @responder.append_template_to_response(template) if template
end
log_to_db() click to toggle source

Add log to database. ActiveRecord required

# File lib/digup/logger.rb, line 40
def log_to_db
  RequestResponseInfo.create(
    :request_method => @responder.request.request_method,
    :request_accepts => @responder.request.accepts,
    :response_type => @responder.content_type,
    :response_status => @responder.status,
    :params => @responder.request.filtered_parameters
  ).digup_logs.create(Digup.message_store)
end
log_to_file() click to toggle source

add log to file inside log/digup.log

# File lib/digup/logger.rb, line 51
def log_to_file
  File.open(Logger.file_path, 'a') do |f|
    f.write(Template.file_template(@responder))
  end
end
log_to_html_body() click to toggle source

appends log as html footer

# File lib/digup/logger.rb, line 14
def log_to_html_body
  template = case
    when @responder.html_response?
      Template.html_template
    when @responder.javascript_response?
      Template.javascript_template
    else
      new_json_template
  end
  @responder.append_template_to_response(template)
end
new_json_template() click to toggle source

creates json template depending on the last character of response(} or ])

# File lib/digup/logger.rb, line 72
def new_json_template
  Template.json_template(response_body[response_body.length - 1])
end
response_body() click to toggle source
# File lib/digup/logger.rb, line 67
def response_body
  @responder.response_body
end