Audit logging improved. References users, screenshots, packages

This commit is contained in:
Christoph Haas 2021-03-03 23:21:24 +01:00
parent b6dee6b93c
commit 2fef9c7043
12 changed files with 95 additions and 45 deletions

View file

@ -1,6 +1,9 @@
# require 'pry'
class Log < ApplicationRecord
belongs_to :user
belongs_to :package
belongs_to :screenshot
validates :message, presence: true
validates :section, presence: true
@ -13,7 +16,7 @@ class Log < ApplicationRecord
order('id DESC')
}
def self.log(message, ip_address='0.0.0.0', section='frontend', level='info')
def self.log(message, ip: nil, user: nil, section: 'frontend', level: 'info', screenshot: nil, package: nil)
log = Log.new
ip_address = request.remote_ip if defined? request
@ -22,8 +25,10 @@ class Log < ApplicationRecord
log.message = message
log.section = section
log.level = level
log.ip_address = ip_address
log.token = token
log.ip_address = ip.to_s
log.screenshot = screenshot
log.package = package
log.user = user # current_user
logger.error "Could not log to database - validation errors: #{log.errors.to_a}" unless log.valid?
log.save
# log