org.apache.log4j.nt
public class: NTEventLogAppender [javadoc |
source]
java.lang.Object
org.apache.log4j.AppenderSkeleton
org.apache.log4j.nt.NTEventLogAppender
All Implemented Interfaces:
OptionHandler, Appender
Append to the NT event log system.
WARNING This appender can only be installed and used on a
Windows system.
Do not forget to place the file NTEventLogAppender.dll in a
directory that is on the PATH of the Windows system. Otherwise, you
will get a java.lang.UnsatisfiedLinkError.
- author:
< - a href="mailto:cstaylor@pacbell.net">Chris Taylor
- author:
< - a href="mailto:jim_cakalic@na.biomerieux.com">Jim Cakalic
| Constructor: |
public NTEventLogAppender() {
this(null, null, null);
}
|
public NTEventLogAppender(String source) {
this(null, source, null);
}
|
public NTEventLogAppender(Layout layout) {
this(null, null, layout);
}
|
public NTEventLogAppender(String server,
String source) {
this(server, source, null);
}
|
public NTEventLogAppender(String source,
Layout layout) {
this(null, source, layout);
}
|
public NTEventLogAppender(String server,
String source,
Layout layout) {
if (source == null) {
source = "Log4j";
}
if (layout == null) {
this.layout = new TTCCLayout();
} else {
this.layout = layout;
}
try {
_handle = registerEventSource(server, source);
} catch (Exception e) {
e.printStackTrace();
_handle = 0;
}
}
|
| Methods from org.apache.log4j.AppenderSkeleton: |
|---|
|
activateOptions, addFilter, append, clearFilters, doAppend, finalize, getErrorHandler, getFilter, getFirstFilter, getLayout, getName, getThreshold, isAsSevereAsThreshold, setErrorHandler, setLayout, setName, setThreshold |
| Method from org.apache.log4j.nt.NTEventLogAppender Detail: |
public void activateOptions() {
if (source != null) {
try {
_handle = registerEventSource(server, source);
} catch (Exception e) {
LogLog.error("Could not register event source.", e);
_handle = 0;
}
}
}
|
public void append(LoggingEvent event) {
StringBuffer sbuf = new StringBuffer();
sbuf.append(layout.format(event));
if(layout.ignoresThrowable()) {
String[] s = event.getThrowableStrRep();
if (s != null) {
int len = s.length;
for(int i = 0; i < len; i++) {
sbuf.append(s[i]);
}
}
}
// Normalize the log message level into the supported categories
int nt_category = event.getLevel().toInt();
// Anything above FATAL or below DEBUG is labeled as INFO.
//if (nt_category > FATAL || nt_category < DEBUG) {
// nt_category = INFO;
//}
reportEvent(_handle, sbuf.toString(), nt_category);
}
|
public void close() {
// unregister ...
}
|
public void finalize() {
deregisterEventSource(_handle);
_handle = 0;
}
|
public String getSource() {
return source;
}
|
public boolean requiresLayout() {
return true;
}
The NTEventLogAppender requires a layout. Hence,
this method always returns true. |
public void setSource(String source) {
this.source = source.trim();
}
The Source option which names the source of the event. The
current value of this constant is Source. |