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);
   }
 }