Enumeration e = lr.getLog();
Vector lv = new Vector();
boolean rflag = opts.get("-r") == null;
while (e.hasMoreElements()) {
LogEntry le = (LogEntry) e.nextElement();
Bundle b = le.getBundle();
if (b == null && fflag || bv == null && !fflag
|| bv != null && bv.contains(b)) {
if (count-- <= 0) {
break;
}
if (le.getLevel() > level) {
continue;
}
if (le.getTime() < startTime) {
break;
}
if (rflag) {
lv.insertElementAt(le, 0);
} else {
lv.addElement(le);
}
}
}
StringBuffer sb = new StringBuffer();
SimpleDateFormat tf = new SimpleDateFormat(
"MMM dd HH:mm:ss ");
for (e = lv.elements(); e.hasMoreElements();) {
LogEntry le = (LogEntry) e.nextElement();
sb.setLength(0);
sb.append(tf.format(new Date(le.getTime())));
pad(sb, 16);
switch (le.getLevel()) {
case LogService.LOG_INFO:
sb.append("INFO");
break;
case LogService.LOG_DEBUG:
sb.append("DEBUG");
break;
case LogService.LOG_WARNING:
sb.append("WARNING");
break;
case LogService.LOG_ERROR:
sb.append("ERROR");
break;
default:
sb.append("UNKNOWN");
break;
}
pad(sb, 23);
Bundle b = le.getBundle();
if (b != null) {
sb.append(" #" + b.getBundleId());
pad(sb, 28);
sb.append(Util.shortName(b));
} else {
sb.append(" FRAMEWORK");
}
pad(sb, 42);
sb.append(" - ");
sb.append(le.getMessage());
final ServiceReference leSr
= le.getServiceReference();
if (leSr != null) {
sb.append(", Service#");
sb.append(leSr.getProperty(Constants.SERVICE_ID));
sb.append(": ");
sb.append(Util.showServiceClasses(leSr));
}
out.println(sb.toString());
if (le.getException() != null
&& opts.get("-s") != null) {
le.getException().printStackTrace(out);
}
}
bc.ungetService(sr);
return new Integer(0);
}