org.apache.log4j.ext
Class NetSnmpCommandLineTrapSender
public
class
NetSnmpCommandLineTrapSender
extends Object
implements SnmpTrapSenderFacade
Title: NetSnmpCommandLineTrapSender
Description: This class makes use of the NetSNMP
snmptrap utility to
send traps that implement the underlying SNMP protocol(s).
NOTE: this class is intended primarily as a "proof-of-concept", and to serve
as an example of a possible usage of a command line trap sending utility with
the appender. This class is not intended for production-grade environments!
You can get a copy of NetSNMP
here.
You will need a copy of the library (e.g. "snmptrap.exe" and "libsnmp.dll" on Win32
platforms, at a minimum) to use this class.
This sender launches a separate process, calling the NetSnmp utility "snmptrap" to
send a trap. Because this sender's job is to start an operating system process,
it needs to know things that are not readily available to it via the normal avenues
open to a Log4J Appender. In particular, it needs to know the location of
the NetSnmp binaries (the file system path), and the path to the MIB files used
by NetSnmp. You communicate this information to the sender using Java System
Properties.
The path to the NetSnmp binaries is set via the property
"log4j.ext.snmpTrapAppender.netSnmp.binPath". If not set, the sender defaults to a value
of "/usr/local/bin/".
The path to the NetSnmp MIBs is set via the property
"log4j.ext.snmpTrapAppender.netSnmp.mibsPath". If not set, the sender defaults to a value
of "/usr/local/share/mibs".
You can also get the sender to emit some diagnostic/debugging information by setting the
value of the "log4j.ext.snmpTrapAppender.netSnmp.diagnostic" property to "true".
Thus, as an example, the following options to the "java" command line set the binary path,
the MIB path and the diagnostic flag for this sender:
-Dlog4j.ext.snmpTrapAppender.netSnmp.binPath="D:\\apps\\ucd-snmp-4.2.3-win32\\usr\\bin\\"
-Dlog4j.ext.snmpTrapAppender.netSnmp.mibsPath="D:\\apps\\ucd-snmp-4.2.3-win32\\usr\\mibs"
-Dlog4j.ext.snmpTrapAppender.netSnmp.diagnostic="true"
Version: 1.0.1
2002-11-01
changes ---
2002-12-10: mwm : minor tweaks and prettying up of code.
2003-05-24: mwm : minor changes to accomodate the changes in the SnmpTrapSenderFacade interface.
Author: Mark Masterson (m.masterson@computer.org)
public void addTrapMessageVariable(String applicationTrapOIDValue, String value)
public void sendTrap()