code: void formatObject(StringBuffer buf,Object o)
      {
          int init_size=buf.length();
          
          if (o==null)
              buf.append("null");
          else if (o.getClass().isArray())
          {
              int l=Array.getLength(o);
              for (int i=0;i<l;i++)
                  formatObject(buf,Array.get(o,i));
          }
          else if (o instanceof Throwable)
          {
              Throwable ex = (Throwable) o;
              buf.append('\n');
                  
              if (_suppressStack)
              {
                  buf.append(ex.toString());
                  buf.append("\nNo stack available\n--");
              }
              else
              {
                  synchronized(__printWriter)
                  {
                      __stringBufferWriter.setStringBuffer(buf);
                      expandThrowable(ex);
                      __printWriter.flush();
                  }
              }
          }
          else
              buf.append(o.toString()); 
          
          int end_size=buf.length();
          if (_logOneLine)
          {
              for (int i=init_size;i<end_size;i++)
              {
                  char c=buf.charAt(i);
                  if (c=='\n')
                      buf.setCharAt(i,'|');
                  else if (c=='\r')
                      buf.setCharAt(i,'<');
              }
          }
      }
docs: /*-------------------------------------------------------------------