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)

Method Summary
voidaddTrapMessageVariable(String applicationTrapOIDValue, String value)
voidinitialize(SNMPTrapAppender appender)
voidsendTrap()

Method Detail

addTrapMessageVariable

public void addTrapMessageVariable(String applicationTrapOIDValue, String value)

initialize

public void initialize(SNMPTrapAppender appender)

sendTrap

public void sendTrap()