1 16 17 package org.apache.log4j.helpers; 18 19 import java.io.Writer ; 20 import java.io.FilterWriter ; 21 import java.io.IOException ; 22 import org.apache.log4j.spi.ErrorHandler; 23 import org.apache.log4j.spi.ErrorCode; 24 25 26 34 public class QuietWriter extends FilterWriter { 35 36 protected ErrorHandler errorHandler; 37 38 public 39 QuietWriter(Writer writer, ErrorHandler errorHandler) { 40 super(writer); 41 setErrorHandler(errorHandler); 42 } 43 44 public 45 void write(String string) { 46 try { 47 out.write(string); 48 } catch(IOException e) { 49 errorHandler.error("Failed to write ["+string+"].", e, 50 ErrorCode.WRITE_FAILURE); 51 } 52 } 53 54 public 55 void flush() { 56 try { 57 out.flush(); 58 } catch(IOException e) { 59 errorHandler.error("Failed to flush writer,", e, 60 ErrorCode.FLUSH_FAILURE); 61 } 62 } 63 64 65 public 66 void setErrorHandler(ErrorHandler eh) { 67 if(eh == null) { 68 throw new IllegalArgumentException ("Attempted to set null ErrorHandler."); 70 } else { 71 this.errorHandler = eh; 72 } 73 } 74 } 75 | Popular Tags |