FileDocCategorySizeDatePackage
SingleLineTracerPrintWriter.javaAPI DocApache log4j 1.2.152317Sat Aug 25 00:09:34 BST 2007org.apache.log4j.helpers

SingleLineTracerPrintWriter

public class SingleLineTracerPrintWriter extends TracerPrintWriter
SingleLineTracerPrintWriter overrides the println function in TracerPrintWriter by replacing the TAB character with spaces. It also does not print the "\n".

The default format generated by TracerPrintWriter for exceptions prints on multiple lines, which does not interact well with some logging systems. On the other hand, a stack-trace on one line can be a mite difficult to read, so this class should only be used where really necessary :-)

For syslog daemons, tabs in messages are not friendly, hence the replacement of tabs by spaces here. It shouldn't do any harm to do this for all messages...

Perhaps it might be better to enhance TracerPrintWriter to have a configuration item for one-line or multi-line mode...

Fields Summary
static String
TAB
Constructors Summary
public SingleLineTracerPrintWriter(QuietWriter qWriter)


     
    super(qWriter);
  
Methods Summary
public voidprintln(java.lang.Object o)
Make the first Exception line print properly by omitting the \n at the end.

    this.qWriter.write(o.toString());
  
public voidprintln(java.lang.String s)
Remove the first character from the string (usually a TAB) and do not print "\n"

      // remove '^I' and replace it with 4 spaces
      this.qWriter.write(TAB+s.substring(1));