[logback-dev] svn commit: r2044 - in logback-incubator/trunk/logback-as400/src/main/java/ch: . qos qos/logback qos/logback/as400 qos/logback/as400/io qos/logback/as400/print

Ceki Gulcu ceki at qos.ch
Fri Jan 23 17:07:13 CET 2009


Hello Thorbjørn,

I had not previously seen that you had already started working on logback-as400. 
Cool.

noreply.ravn at qos.ch wrote:
> Author: ravn
> Date: Mon Dec  1 14:03:23 2008
> New Revision: 2044
> 
> Added:
>    logback-incubator/trunk/logback-as400/src/main/java/ch/
>    logback-incubator/trunk/logback-as400/src/main/java/ch/qos/
>    logback-incubator/trunk/logback-as400/src/main/java/ch/qos/logback/
>    logback-incubator/trunk/logback-as400/src/main/java/ch/qos/logback/as400/
>    logback-incubator/trunk/logback-as400/src/main/java/ch/qos/logback/as400/io/
>    logback-incubator/trunk/logback-as400/src/main/java/ch/qos/logback/as400/io/FixedWidthPrintStream.java
>    logback-incubator/trunk/logback-as400/src/main/java/ch/qos/logback/as400/print/
>    logback-incubator/trunk/logback-as400/src/main/java/ch/qos/logback/as400/print/QPrintAppender.java
> 
> Log:
> initial skeletons for QPrintAppender
> 
> Added: logback-incubator/trunk/logback-as400/src/main/java/ch/qos/logback/as400/io/FixedWidthPrintStream.java
> ==============================================================================
> --- (empty file)
> +++ logback-incubator/trunk/logback-as400/src/main/java/ch/qos/logback/as400/io/FixedWidthPrintStream.java	Mon Dec  1 14:03:23 2008
> @@ -0,0 +1,85 @@
> +package ch.qos.logback.as400.io;
> +
> +import java.io.OutputStream;
> +import java.io.PrintStream;
> +
> +/**
> + * FixedWidthPrintStream is a stream wrapper which ensures that the output does
> + * not get wider than the specified number of columns.  
> + * 
> + */
> +public class FixedWidthPrintStream {
> +
> +	protected static final int BEFORE_COLUMN_ZERO = -1;
> +
> +	private String indent = "  +";
> +	private int wrapColumn = 79;
> +	private PrintStream originalStream;
> +
> +	private PrintStream thisStream;
> +	/** 
> +	 * @param originalStream
> +	 * @param wrapColumn - first column is column 0.
> +	 * @param indent
> +	 */
> +
> +	public PrintStream getStream() {
> +		if (thisStream == null) {
> +			thisStream = new PrintStream(new OutputStream() {
> +
> +				// Next char will go in 0
> +				int currentColumn = BEFORE_COLUMN_ZERO;
> +
> +				public void write(int b) {
> +					originalStream.write(b);
> +					currentColumn = currentColumn + 1;
> +
> +					if (b == '\n') {
> +						currentColumn = BEFORE_COLUMN_ZERO;
> +					} else if (currentColumn >= wrapColumn) {
> +						originalStream.write('\n');
> +						currentColumn = BEFORE_COLUMN_ZERO;
> +						for (int i = 0; i < indent.length(); i++) {
> +							originalStream.write(indent.charAt(i));
> +							currentColumn = currentColumn + 1;
> +						}
> +					}
> +				}
> +
> +				public void close() {
> +					originalStream.close();
> +				}
> +
> +				public void flush() {
> +					originalStream.flush();
> +				}
> +			});
> +		}
> +		return thisStream;
> +	}
> +
> +	public int getWrapColumn() {
> +		return wrapColumn;
> +	}
> +
> +	public void setWrapColumn(int wrapColumn) {
> +		this.wrapColumn = wrapColumn;
> +	}
> +
> +	public PrintStream getOriginalStream() {
> +		return originalStream;
> +	}
> +
> +	public void setOriginalStream(PrintStream wrappedStream) {
> +		this.originalStream = wrappedStream;
> +	}
> +
> +	public String getIndent() {
> +		return indent;
> +	}
> +
> +	public void setIndent(String indent) {
> +		this.indent = indent;
> +	}
> +
> +}
> 
> Added: logback-incubator/trunk/logback-as400/src/main/java/ch/qos/logback/as400/print/QPrintAppender.java
> ==============================================================================
> --- (empty file)
> +++ logback-incubator/trunk/logback-as400/src/main/java/ch/qos/logback/as400/print/QPrintAppender.java	Mon Dec  1 14:03:23 2008
> @@ -0,0 +1,20 @@
> +package ch.qos.logback.as400.print;
> +
> +import ch.qos.logback.core.AppenderBase;
> +
> +/**
> + * 
> + *
> + */
> +public class QPrintAppender extends AppenderBase {
> +
> +
> +	
> +	@Override
> +	protected void append(Object arg0) {
> +		
> +	}
> +	
> +	
> +
> +}
> _______________________________________________
> logback-dev mailing list
> logback-dev at qos.ch
> http://qos.ch/mailman/listinfo/logback-dev
> 

-- 
Ceki Gülcü
Logback: The reliable, generic, fast and flexible logging framework for Java.
http://logback.qos.ch


More information about the logback-dev mailing list