public void headerFooterCheck(String fileHeader, String presentationHeader, String presentationFooter, String fileFooter) { OutputStreamAppender<Object> wa = new OutputStreamAppender<Object>(); wa.setContext(context); ByteArrayOutputStream baos = new ByteArrayOutputStream(); SamplePatternLayout<Object> spl = new SamplePatternLayout<Object>(); spl.setContext(context); spl.setFileHeader(fileHeader); spl.setPresentationHeader(presentationHeader); spl.setPresentationFooter(presentationFooter); spl.setFileFooter(fileFooter); spl.start(); LayoutWrappingEncoder<Object> encoder = new LayoutWrappingEncoder<Object>(); encoder.setLayout(spl); encoder.setContext(context); wa.setEncoder(encoder); wa.setOutputStream(baos); wa.start(); wa.stop(); String result = baos.toString(); String expectedHeader = emtptyIfNull(fileHeader) + emtptyIfNull(presentationHeader); System.out.println(result); assertTrue(result, result.startsWith(expectedHeader)); String expectedFooter = emtptyIfNull(presentationFooter) + emtptyIfNull(fileFooter); assertTrue(result, result.endsWith(expectedFooter)); }