FileDocCategorySizeDatePackage
ThrowableInformation.javaAPI DocApache log4j 1.2.152857Sat Aug 25 00:09:40 BST 2007org.apache.log4j.spi

ThrowableInformation

public class ThrowableInformation extends Object implements Serializable
ThrowableInformation is log4j's internal representation of throwables. It essentially consists of a string array, called 'rep', where the first element, that is rep[0], represents the string representation of the throwable (i.e. the value you get when you do throwable.toString()) and subsequent elements correspond the stack trace with the top most entry of the stack corresponding to the second entry of the 'rep' array that is rep[1].
author
Ceki Gülcü

Fields Summary
static final long
serialVersionUID
private transient Throwable
throwable
private String[]
rep
Constructors Summary
public ThrowableInformation(Throwable throwable)


  
    
    this.throwable = throwable;
  
public ThrowableInformation(String[] r)
Create new instance.

since
1.2.15
param
r String representation of throwable.

      if (r != null) {
        rep = (String[]) r.clone();
      }
  
Methods Summary
public java.lang.ThrowablegetThrowable()

    return throwable;
  
public java.lang.String[]getThrowableStrRep()

    if(rep != null) {
      return (String[]) rep.clone();
    } else {
      StringWriter sw = new StringWriter();
      PrintWriter pw = new PrintWriter(sw);
      throwable.printStackTrace(pw);
      pw.flush();
      LineNumberReader reader = new LineNumberReader(
              new StringReader(sw.toString()));
      ArrayList lines = new ArrayList();
      try {
        String line = reader.readLine();
        while(line != null) {
          lines.add(line);
          line = reader.readLine();
        }
      } catch(IOException ex) {
          lines.add(ex.toString());
      }
      rep = new String[lines.size()];
      lines.toArray(rep);
    }
    return rep;