org.objectweb.util.monolog.wrapper.printwriter
Class PrintStreamImpl

java.lang.Object
  extended by java.io.OutputStream
      extended by java.io.FilterOutputStream
          extended by java.io.PrintStream
              extended by org.objectweb.util.monolog.wrapper.printwriter.PrintStreamImpl
All Implemented Interfaces:
java.io.Closeable, java.io.Flushable, java.lang.Appendable, Loggable

public class PrintStreamImpl
extends java.io.PrintStream
implements Loggable

This class is a PrintStream wrapper. It exports the Printstream methods but fowards the message to a Logger. This implementation bufferizes the data when a print method is used. The buffer and the data are always written when a println method is used. No end of line are inserted by the println methods. A line is equals to a monolog message.

Author:
S.Chassande-Barrioz

Field Summary
protected  java.lang.String currentLine
          This field is the buffer which represents the current line.
protected  int level
           
protected  Logger logger
           
protected  LoggerFactory loggerFactory
           
 
Fields inherited from class java.io.FilterOutputStream
out
 
Constructor Summary
PrintStreamImpl(Logger l)
          It builds a PrintWriterImpl instance.
PrintStreamImpl(Logger l, int level)
          It builds a PrintWriterImpl instance.
 
Method Summary
 boolean checkError()
          Always retrieves 'false'
protected  java.lang.Object clone()
          Always throws a CloneNotSupportedException
 void close()
          Do nothing
 boolean equals(java.lang.Object o)
          Compare the inner loggers
 void flush()
          Do nothing
 int getLevel()
          Retrieves the level of the messages
 Logger getLogger()
          Retrieves the logger instance used
 LoggerFactory getLoggerFactory()
          Retrieves the logger factory instance used
 void print(boolean b)
          Writes the boolean value in the buffer
 void print(char c)
          Writes the char value in the buffer
 void print(char[] chars)
          Writes the char[] value as a String in the buffer
 void print(double v)
          Writes the double value in the buffer
 void print(float v)
          Writes the float value in the buffer
 void print(int i)
          Writes the int value in the buffer
 void print(long l)
          Writes the long value in the buffer
 void print(java.lang.Object o)
          Writes the Object value as a String in the buffer
 void print(java.lang.String s)
          Writes the String value in the buffer
 void println()
          log the buffer
 void println(boolean b)
          1/ Write a boolean value in the buffer.
 void println(char c)
          1/ Write a char value in the buffer 2/ Log the buffer 3/ Clear the buffer
 void println(char[] chars)
          1/ Write a char[] value in the buffer 2/ Log the buffer 3/ Clear the buffer
 void println(double v)
          1/ Write a double value in the buffer 2/ Log the buffer 3/ Clear the buffer
 void println(float v)
          1/ Write a float value in the buffer 2/ Log the buffer 3/ Clear the buffer
 void println(int i)
          1/ Write an int value in the buffer 2/ Log the buffer 3/ Clear the buffer
 void println(long l)
          1/ Write a long value in the buffer 2/ Log the buffer 3/ Clear the buffer
 void println(java.lang.Object o)
          1/ Write a object value in the buffer 2/ Log the buffer 3/ Clear the buffer
 void println(java.lang.String s)
          1/ Write a String value in the buffer 2/ Log the buffer 3/ Clear the buffer
protected  void setError()
          Do nothing
 void setLevel(int level)
          Changes the level of the messages
 void setLogger(Logger logger)
          Assigns the logger instance to use
 void setLoggerFactory(LoggerFactory lf)
          Assigns the logger factory instance to use
 java.lang.String toString()
          Call the toString() method over the inner logger
 void write(byte[] bytes)
          Writes the byte[] as a string in the buffer
 void write(byte[] bytes, int i, int i1)
          Writes the byte[] as a string in the buffer
 void write(int i)
          Writes the int value in the buffer
 
Methods inherited from class java.io.PrintStream
append, append, append, clearError, format, format, printf, printf
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

logger

protected Logger logger

loggerFactory

protected LoggerFactory loggerFactory

currentLine

protected java.lang.String currentLine
This field is the buffer which represents the current line.


level

protected int level
Constructor Detail

PrintStreamImpl

public PrintStreamImpl(Logger l)
                throws java.lang.NullPointerException
It builds a PrintWriterImpl instance. The default level is DEBUG

Parameters:
l - is the logger toward which the message must be send
Throws:
java.lang.NullPointerException - if the parameter is null.

PrintStreamImpl

public PrintStreamImpl(Logger l,
                       int level)
                throws java.lang.NullPointerException
It builds a PrintWriterImpl instance. The default level is DEBUG

Parameters:
l - is the logger toward which the message must be send
level - is the level used to log message.
Throws:
java.lang.NullPointerException - if the parameter is null.
Method Detail

getLevel

public int getLevel()
Retrieves the level of the messages

Returns:
an int value representing the message priority (BasicLevel.XXXX)

setLevel

public void setLevel(int level)
Changes the level of the messages

Parameters:
level - is the new level

getLogger

public Logger getLogger()
Retrieves the logger instance used

Specified by:
getLogger in interface Loggable

setLogger

public void setLogger(Logger logger)
Assigns the logger instance to use

Specified by:
setLogger in interface Loggable

getLoggerFactory

public LoggerFactory getLoggerFactory()
Retrieves the logger factory instance used

Specified by:
getLoggerFactory in interface Loggable

setLoggerFactory

public void setLoggerFactory(LoggerFactory lf)
Assigns the logger factory instance to use

Specified by:
setLoggerFactory in interface Loggable

write

public void write(byte[] bytes)
Writes the byte[] as a string in the buffer

Overrides:
write in class java.io.FilterOutputStream

equals

public boolean equals(java.lang.Object o)
Compare the inner loggers

Overrides:
equals in class java.lang.Object

flush

public void flush()
Do nothing

Specified by:
flush in interface java.io.Flushable
Overrides:
flush in class java.io.PrintStream

clone

protected java.lang.Object clone()
                          throws java.lang.CloneNotSupportedException
Always throws a CloneNotSupportedException

Overrides:
clone in class java.lang.Object
Throws:
java.lang.CloneNotSupportedException

close

public void close()
Do nothing

Specified by:
close in interface java.io.Closeable
Overrides:
close in class java.io.PrintStream

toString

public java.lang.String toString()
Call the toString() method over the inner logger

Overrides:
toString in class java.lang.Object

checkError

public boolean checkError()
Always retrieves 'false'

Overrides:
checkError in class java.io.PrintStream
Returns:

setError

protected void setError()
Do nothing

Overrides:
setError in class java.io.PrintStream

write

public void write(int i)
Writes the int value in the buffer

Overrides:
write in class java.io.PrintStream

write

public void write(byte[] bytes,
                  int i,
                  int i1)
Writes the byte[] as a string in the buffer

Overrides:
write in class java.io.PrintStream

print

public void print(boolean b)
Writes the boolean value in the buffer

Overrides:
print in class java.io.PrintStream

print

public void print(char c)
Writes the char value in the buffer

Overrides:
print in class java.io.PrintStream

print

public void print(int i)
Writes the int value in the buffer

Overrides:
print in class java.io.PrintStream

print

public void print(long l)
Writes the long value in the buffer

Overrides:
print in class java.io.PrintStream

print

public void print(float v)
Writes the float value in the buffer

Overrides:
print in class java.io.PrintStream

print

public void print(double v)
Writes the double value in the buffer

Overrides:
print in class java.io.PrintStream

print

public void print(char[] chars)
Writes the char[] value as a String in the buffer

Overrides:
print in class java.io.PrintStream

print

public void print(java.lang.String s)
Writes the String value in the buffer

Overrides:
print in class java.io.PrintStream

print

public void print(java.lang.Object o)
Writes the Object value as a String in the buffer

Overrides:
print in class java.io.PrintStream

println

public void println()
log the buffer

Overrides:
println in class java.io.PrintStream

println

public void println(boolean b)
1/ Write a boolean value in the buffer. 2/ Log the buffer. 3/ Clear the buffer.

Overrides:
println in class java.io.PrintStream

println

public void println(char c)
1/ Write a char value in the buffer 2/ Log the buffer 3/ Clear the buffer

Overrides:
println in class java.io.PrintStream

println

public void println(int i)
1/ Write an int value in the buffer 2/ Log the buffer 3/ Clear the buffer

Overrides:
println in class java.io.PrintStream

println

public void println(long l)
1/ Write a long value in the buffer 2/ Log the buffer 3/ Clear the buffer

Overrides:
println in class java.io.PrintStream

println

public void println(float v)
1/ Write a float value in the buffer 2/ Log the buffer 3/ Clear the buffer

Overrides:
println in class java.io.PrintStream

println

public void println(double v)
1/ Write a double value in the buffer 2/ Log the buffer 3/ Clear the buffer

Overrides:
println in class java.io.PrintStream

println

public void println(char[] chars)
1/ Write a char[] value in the buffer 2/ Log the buffer 3/ Clear the buffer

Overrides:
println in class java.io.PrintStream

println

public void println(java.lang.String s)
1/ Write a String value in the buffer 2/ Log the buffer 3/ Clear the buffer

Overrides:
println in class java.io.PrintStream

println

public void println(java.lang.Object o)
1/ Write a object value in the buffer 2/ Log the buffer 3/ Clear the buffer

Overrides:
println in class java.io.PrintStream