Sha256: 2bca122a0a3daa88e1fae3f99c5d89cba8be328b7832a025d4d2affbc2c44d76

Contents?: true

Size: 783 Bytes

Versions: 15

Compression:

Stored size: 783 Bytes

Contents

class Log < ApplicationRecord
  Severities = %w( emerg alert crit err warning notice info debug )

  validates_presence_of :severity, :message
  validates_inclusion_of :severity, in: Severities

  before_validation :change_severity

  after_create :to_syslog if Chaltron.enable_syslog

  private

  def change_severity
    self.severity = :emerg   if self.severity && self.severity.to_sym == :panic
    self.severity = :err     if self.severity && self.severity.to_sym == :error
    self.severity = :warning if self.severity && self.severity.to_sym == :warn
  end

  def to_syslog
    Syslog.open(Rails.application.class.parent.to_s, Syslog::LOG_PID, Chaltron.syslog_facility) do |s|
      s.send(self.severity.to_sym, self.category.upcase + ' - ' + self.message)
    end
  end

end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
chaltron-2.0.3 app/models/log.rb
chaltron-2.0.2 app/models/log.rb
chaltron-2.0.1 app/models/log.rb
chaltron-2.0.0 app/models/log.rb
chaltron-1.1.7 app/models/log.rb
chaltron-1.1.6 app/models/log.rb
chaltron-0.3.2 app/models/log.rb
chaltron-1.1.5 app/models/log.rb
chaltron-1.1.4 app/models/log.rb
chaltron-0.3.1 app/models/log.rb
chaltron-1.1.3 app/models/log.rb
chaltron-1.1.2 app/models/log.rb
chaltron-1.1.1 app/models/log.rb
chaltron-0.3.0 app/models/log.rb
chaltron-1.1.0 app/models/log.rb