class AioliLogFormatter::Formatter

Public Instance Methods

call(severity, timestamp, progname, message) click to toggle source

Rails 3

# File lib/aioli_log_formatter/formatter.rb, line 13
def call(severity, timestamp, progname, message)
  format(message)
end
format(message) click to toggle source

Rails 2

# File lib/aioli_log_formatter/formatter.rb, line 8
def format(message)
  "#{timestamp} #{hostname} rails[#{process_id}] #{shorten_session_id} #{user_id}: #{sanitize(message)}\n"
end

Private Instance Methods

hostname() click to toggle source
# File lib/aioli_log_formatter/formatter.rb, line 23
def hostname
  @parsed_hostname ||= Socket.gethostname.split('.').first
end
process_id() click to toggle source
# File lib/aioli_log_formatter/formatter.rb, line 27
def process_id
  $$
end
sanitize(message) click to toggle source
# File lib/aioli_log_formatter/formatter.rb, line 45
def sanitize(message)
  message.to_s.gsub(/\n/, ' ').lstrip
end
session_id() click to toggle source

before_filter { |controller| ($session_id ||= {})[Thread.current] = controller.session_id || 0 }

# File lib/aioli_log_formatter/formatter.rb, line 36
def session_id
  defined?($session_id) ? "#{$session_id[Thread.current] || 0}" : '0'
end
shorten_session_id() click to toggle source
# File lib/aioli_log_formatter/formatter.rb, line 31
def shorten_session_id
  session_id[0,10]
end
timestamp() click to toggle source
# File lib/aioli_log_formatter/formatter.rb, line 19
def timestamp
  Time.now.strftime("%b %d %H:%M:%S")
end
user_id() click to toggle source

before_filter { |controller| ($user_id ||= {})[Thread.current] = controller.session || 0 }

# File lib/aioli_log_formatter/formatter.rb, line 41
def user_id
  defined?($user_id) ? "u#{$user_id[Thread.current] || 0}" : 'u0'
end