Adding Log model for database-based log messages
This commit is contained in:
parent
e1bef18152
commit
ac3d52a66e
4 changed files with 61 additions and 0 deletions
27
app/models/log.rb
Normal file
27
app/models/log.rb
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
require 'pry'
|
||||
|
||||
class Log < ActiveRecord::Base
|
||||
validates :message, presence: true
|
||||
|
||||
validates :section, presence: true
|
||||
validates :section, inclusion: { in: ['importer', 'upload', 'frontend'] }
|
||||
|
||||
validates :level, presence: true
|
||||
validates :level, inclusion: { in: ['info', 'error'] }
|
||||
|
||||
def self.log(message, section='frontend', level='info')
|
||||
log = Log.new
|
||||
|
||||
ip_address = request.remote_ip if defined? request
|
||||
token = session[:token] if defined? session
|
||||
|
||||
log.message = message
|
||||
log.section = section
|
||||
log.level = level
|
||||
log.ip_address = ip_address
|
||||
log.token = token
|
||||
logger.error "Could not log to database - validation errors: #{log.errors.to_a}" unless log.valid?
|
||||
log.save
|
||||
log
|
||||
end
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue