private void SysPrint(Marker marker, String msg, Object... obj) { if (obj != null) { Throwable t = null; StringBuffer s = new StringBuffer("["); s.append(marker.toString()).append("] ").append(msg); s.append(" args=["); boolean first = true; for (Object o : obj) { if (o instanceof Throwable) { t = (Throwable) o; } else { if (first) { s.append(o.toString()); first = false; } else { s.append(", ").append(o.toString()); } } } System.out.println(s.toString()); if (t != null) { t.printStackTrace(); } } else { System.out.println(msg); } }