package com.traxel.lumbermill.event;
import org.apache.log4j.Level;
import org.apache.log4j.spi.LocationInfo;
import org.apache.log4j.spi.LoggingEvent;
import org.apache.log4j.spi.ThrowableInformation;
import java.io.Serializable;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
class Log4jEvent extends AbstractEvent
implements Serializable {
private static final Map SEVERITY_MAP;
static {
final Map severityMap = new HashMap();
severityMap.put(Level.DEBUG, Severity.LEVEL_2);
severityMap.put(Level.INFO, Severity.LEVEL_5);
severityMap.put(Level.WARN, Severity.LEVEL_6);
severityMap.put(Level.ERROR, Severity.LEVEL_7);
severityMap.put(Level.FATAL, Severity.LEVEL_8);
SEVERITY_MAP = Collections.unmodifiableMap(severityMap);
}
private final LoggingEvent LOG4J;
LOG4J = log4j;
}
final Iterator it;
Level known;
Level estimated;
Severity severity;
boolean moreThanObserved;
boolean lessThanEstimated;
estimated = Level.FATAL;
it = SEVERITY_MAP.keySet().iterator();
while (it.hasNext()) {
known = (Level)it.next();
if (estimated == null) {
estimated = known;
} else {
moreThanObserved = known.toInt() > observed.toInt();
lessThanEstimated = known.toInt() < estimated.toInt();
if (moreThanObserved && lessThanEstimated) {
estimated = known;
}
}
}
severity = (Severity)SEVERITY_MAP.get(estimated);
if (severity == null) {
severity = Severity.LEVEL_8;
}
return severity;
}
public static Severity
getSeverity(
final Level level) {
Severity severity;
severity = (Severity)SEVERITY_MAP.get(level);
if (severity == null) {
severity = estimateSeverity(level);
}
return severity;
}
@Override
return LOG4J.timeStamp;
}
@Override
return LOG4J.timeStamp - LOG4J.getStartTime();
}
@Override
final ThrowableInformation info;
Throwable thrown = null;
info = LOG4J.getThrowableInformation();
if (info != null) {
thrown = info.getThrowable();
}
return thrown;
}
@Override
return String.valueOf(LOG4J.getMessage());
}
@Override
return LOG4J.getLoggerName();
}
@Override
return getSeverity(LOG4J.getLevel());
}
@Override
return getStackTrace() != null;
}
@Override
final StringBuffer buff;
final String[] strRep;
strRep = LOG4J.getThrowableStrRep();
if ((strRep == null) || (strRep.length == 0)) {
return null;
}
buff = new StringBuffer();
for (int i = 0; i < strRep.length; i++) {
buff.append(strRep[i] + "\n");
}
return buff.toString();
}
@Override
final LocationInfo info;
info = LOG4J.getLocationInformation();
if (info == null) {
return null;
}
return info.fullInfo;
}
@Override
return LOG4J.getNDC();
}
}