Sha256: 0705dc2655a2bbc56d91b21aae9a7c79c9919d4868c5e7ac5203737b48e2ae2c

Contents?: true

Size: 1.62 KB

Versions: 5

Compression:

Stored size: 1.62 KB

Contents

require 'singleton'
require 'syslog'

module Pmux
  module Gateway
    class SyslogWrapper
      include Singleton

      @@facility_map = {
        'user' => Syslog::LOG_USER,
        'daemon' => Syslog::LOG_DAEMON,
        'local0' => Syslog::LOG_LOCAL0,
        'local1' => Syslog::LOG_LOCAL1,
        'local2' => Syslog::LOG_LOCAL2,
        'local3' => Syslog::LOG_LOCAL3,
        'local4' => Syslog::LOG_LOCAL4,
        'local5' => Syslog::LOG_LOCAL5,
        'local6' => Syslog::LOG_LOCAL6,
        'local7' => Syslog::LOG_LOCAL7
      }

      def get_facility facility
        if !facility.nil? && @@facility_map.key?(facility)
          return @@facility_map[facility]
        end
        return Syslog::LOG_USER
      end

      def open use_syslog, facility_string
        if @syslog
          Syslog.close()
          @syslog = false
        end
        if use_syslog
          facility = get_facility(facility_string)
          Syslog.open("pmux-gw", Syslog::LOG_PID, facility)
          @syslog = true
        end
      end 

      def logging id, serverity, msg
        return if !@syslog
        case serverity
        when "debug"
          Syslog.debug("[#{id}] #{msg}")
        when "info"
          Syslog.info("[#{id}] #{msg}")
        when "notice"
          Syslog.notice("[#{id}] #{msg}")
        when "warn"
          Syslog.warning("[#{id}] #{msg}")
        when "error"
          Syslog.err("[#{id}] #{msg}")
        when "fatal"
          Syslog.crit("[#{id}] #{msg}")
        when "alert"
          Syslog.alert("[#{id}] #{msg}")
        when "emerg"
          Syslog.emerg("[#{id}] #{msg}")
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
pmux-gw-0.1.12 lib/pmux-gw/syslog_wrapper.rb
pmux-gw-0.1.11 lib/pmux-gw/syslog_wrapper.rb
pmux-gw-0.1.10 lib/pmux-gw/syslog_wrapper.rb
pmux-gw-0.1.9 lib/pmux-gw/syslog_wrapper.rb
pmux-gw-0.1.8 lib/pmux-gw/syslog_wrapper.rb