svn commit: r955 - in logback/trunk: logback-classic/src/test/java/ch/qos/logback/classic/html logback-core/src/main/java/ch/qos/logback/core logback-core/src/main/java/ch/qos/logback/core/html

Author: seb Date: Fri Nov 17 18:12:23 2006 New Revision: 955 Modified: logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/html/HTMLLayoutTest.java logback/trunk/logback-core/src/main/java/ch/qos/logback/core/WriterAppender.java logback/trunk/logback-core/src/main/java/ch/qos/logback/core/html/HTMLLayoutBase.java Log: added presentation header and footer to WriterAppender Updated HTMLLayout test Modified: logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/html/HTMLLayoutTest.java ============================================================================== --- logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/html/HTMLLayoutTest.java (original) +++ logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/html/HTMLLayoutTest.java Fri Nov 17 18:12:23 2006 @@ -58,6 +58,17 @@ String header = layout.getFileHeader(); //System.out.println(header); + Document doc = parseOutput(header + "</body></html>"); + Element rootElement = doc.getRootElement(); + assertNotNull(rootElement.element("body")); + } + + public void testPresentationHeader() { + String header = layout.getFileHeader(); + String presentationHeader = layout.getPresentationHeader(); + header = header + presentationHeader; + //System.out.println(header); + Document doc = parseOutput(header + "</table></body></html>"); Element rootElement = doc.getRootElement(); Element bodyElement = rootElement.element("body"); @@ -68,7 +79,7 @@ assertEquals("Thread", elementList.get(1).getText()); assertEquals("Message", elementList.get(2).getText()); } - + public void testAppendThrowable() throws Exception { StringBuffer buf = new StringBuffer(); String[] strArray = { "test1", "test2" }; @@ -111,6 +122,7 @@ String result = layout.doLayout(le); String stringToParse = layout.getFileHeader(); + stringToParse = stringToParse + layout.getPresentationHeader(); stringToParse += result; stringToParse += "</table></body></html>"; Modified: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/WriterAppender.java ============================================================================== --- logback/trunk/logback-core/src/main/java/ch/qos/logback/core/WriterAppender.java (original) +++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/WriterAppender.java Fri Nov 17 18:12:23 2006 @@ -210,6 +210,10 @@ if ((h != null) && (this.writer != null)) { try { this.writer.write(h); + String ph = layout.getPresentationHeader(); + if (ph != null) { + this.writer.write(ph); + } // append a line separator. This should be useful in most cases and should // not hurt. this.writer.write(Layout.LINE_SEP); @@ -230,6 +234,10 @@ if ((h != null) && (this.writer != null)) { try { this.writer.write(h); + String pf = layout.getPresentationFooter(); + if (pf != null) { + this.writer.write(pf); + } // flushing is mandatory if the writer is not later closed. this.writer.flush(); } catch (IOException ioe) { Modified: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/html/HTMLLayoutBase.java ============================================================================== --- logback/trunk/logback-core/src/main/java/ch/qos/logback/core/html/HTMLLayoutBase.java (original) +++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/html/HTMLLayoutBase.java Fri Nov 17 18:12:23 2006 @@ -145,9 +145,13 @@ sbuf.append("<body>"); sbuf.append(LINE_SEP); + return sbuf.toString(); + } + + public String getPresentationHeader() { + StringBuffer sbuf = new StringBuffer(); sbuf.append("<hr size=\"1\" noshade=\"true\" />"); sbuf.append(LINE_SEP); - sbuf.append("Log session start time "); sbuf.append(new java.util.Date()); sbuf.append("<br />"); @@ -158,7 +162,7 @@ sbuf.append(LINE_SEP); createTableHeader(sbuf); - + return sbuf.toString(); } @@ -185,6 +189,12 @@ sbuf.append("</tr>"); sbuf.append(LINE_SEP); } + + public String getPresentationFooter() { + StringBuffer sbuf = new StringBuffer(); + sbuf.append("</table>"); + return sbuf.toString(); + } /** * Returns the appropriate HTML footers. @@ -192,9 +202,6 @@ @Override public String getFileFooter() { StringBuffer sbuf = new StringBuffer(); - sbuf.append("</table>"); - sbuf.append(LINE_SEP); - sbuf.append("<br>"); sbuf.append(LINE_SEP); sbuf.append("</body></html>"); return sbuf.toString();
participants (1)
-
noreply.seb@qos.ch