require 'snmp' require 'logger' def format_v1_trap(trap) "Trap #{trap.generic_trap} from #{trap.source_ip}" end def format_v2c_trap(trap) "Trap #{trap.trap_oid} from #{trap.source_ip}" end log = Logger.new(STDOUT) m = SNMP::TrapManager.new(:Port => 1062) do |manager| manager.on_trap_v1 do |trap| log.info format_v1_trap(trap) end manager.on_trap_v2c do |trap| log.info format_v2c_trap(trap) end log.info "Logging started" end trap("INT") { log.info "Logging stopped"; m.exit } m.join