@Override public LoggingWriter append(CharSequence csq) throws IOException { log.write("writer["); log.write(Long.toString(id)); log.write("].append("); log(csq==null ? null : csq.toString()); log.write(");\n"); log.flush(); wrapped.append(csq); return this; }
/** * Provides detailed logging for a writer. */ private void log(Writer writer) throws IOException { if(writer==null) { log.write("null"); } else if(writer instanceof LoggingWriter) { LoggingWriter loggingWriter = (LoggingWriter)writer; log.write("writer["); log.write(Long.toString(loggingWriter.getId())); log.write(']'); } else if(writer instanceof EncoderWriter) { EncoderWriter encoderWriter = (EncoderWriter)writer; log.write("new EncoderWriter("); log(encoderWriter.getEncoder()); log.write(", "); log(encoderWriter.getOut()); log.write(')'); } else { String classname = writer.getClass().getName(); if(classname.equals("org.apache.jasper.runtime.BodyContentImpl")) log.write("bodyContent"); else if(classname.equals("org.apache.jasper.runtime.JspWriterImpl")) log.write("jspWriter"); else log.write(classname); } }
@Override public void write(String str) throws IOException { log.write("writer["); log.write(Long.toString(id)); log.write("].write("); log(str); log.write(");\n"); log.flush(); wrapped.write(str); }
@Override public LoggingWriter append(char c) throws IOException { log.write("writer["); log.write(Long.toString(id)); log.write("].append("); log(c); log.write(");\n"); log.flush(); wrapped.append(c); return this; }
@Override public void write(String str, int off, int len) throws IOException { log.write("writer["); log.write(Long.toString(id)); log.write("].write("); log(str); log.write(", "); log.write(Integer.toString(off)); log.write(", "); log.write(Integer.toString(len)); log.write(");\n"); log.flush(); wrapped.write(str, off, len); }
@Override public LoggingWriter append(CharSequence csq, int start, int end) throws IOException { log.write("writer["); log.write(Long.toString(id)); log.write("].append("); log(csq==null ? null : csq.toString()); log.write(", "); log.write(Integer.toString(start)); log.write(", "); log.write(Integer.toString(end)); log.write(");\n"); log.flush(); wrapped.append(csq, start, end); return this; }
@Override public void write(char cbuf[]) throws IOException { log.write("writer["); log.write(Long.toString(id)); log.write("].write("); log(new String(cbuf)); log.write(".toCharArray());\n"); /* log.write("writer["); log.write(Long.toString(id)); log.write("].write(new char[] {"); for(int i=0, end=cbuf.length; i<end; i++) { if((i%50)==0) log.write("\n "); if(i>0) log.write(','); log(cbuf[i]); } log.write("\n});\n"); */ log.flush(); wrapped.write(cbuf); }
@Override public void write(char cbuf[], int off, int len) throws IOException { log.write("writer["); log.write(Long.toString(id)); log.write("].write("); log(new String(cbuf, 0, off+len)); log.write(".toCharArray(), "); log.write(Integer.toString(off)); log.write(", "); log.write(Integer.toString(len)); log.write(");\n"); /* log.write("writer["); log.write(Long.toString(id)); log.write("].write(new char[] {"); for(int i=0, end=off+len; i<end; i++) { if((i%50)==0) log.write("\n "); if(i>0) log.write(','); log(cbuf[i]); } log.write("\n}, "); log.write(Integer.toString(off)); log.write(", "); log.write(Integer.toString(len)); log.write(");\n"); */ log.flush(); wrapped.write(cbuf, off, len); }