oracle.otnsamples.xmldb.simplebulkloader.common.trace.FileBasedLogger (Java2HTML)
/*
 * @author                 : Mark Drake
 * @version                : 1.0
 * Development Environment : Oracle9i JDeveloper
 * Name of the File        : FileBasedLogger.java

 * Creation / Modification History :
 *  Shefali Bansal    25-Jan-2003      Modified
 *  Modifications Made:
 *  1. Removed the unused log() method
 */

//Package name

package oracle.otnsamples.xmldb.simplebulkloader.common.trace;


// IO Imports
import java.io.File;
import java.io.FileOutputStream;
import java.io.PrintWriter;
import java.io.StringWriter;


// Java Text Imports
import java.text.SimpleDateFormat;

//Java Utility Classes
import java.util.Date;

/**
 * This class provides mechanism for logging the trace into a file. It

 * implements the abstract class Logger
 */
public class FileBasedLogger implements Logger {
  SimpleDateFormat sdf;

  // Defining the member variables
  private PrintWriter m_LogWriter;

  /**
   * Constructor to a logger file where the trace will be written

   */
  public FileBasedLogger(  ) {
    String logFilename = null;

    try {
      sdf = new SimpleDateFormat( "yyyymmddHHmmss" );
      logFilename = "TraceOutputFile-" + sdf.format( new Date(  ) ) + ".log";

      File logFile = new File( logFilename );
      FileOutputStream logWriter = new FileOutputStream( logFile );
      m_LogWriter = new PrintWriter( logWriter );

    }
     catch ( java.io.IOException e ) {
      System.out.println( "FileBasedLogger(): Could not create Log File " +
                          logFilename );
      e.printStackTrace(  );
      m_LogWriter = new PrintWriter( System.out );
    }
  }

  /**
   * Implements the abstract method log( String parm1 ). This method prints the
   * String information passed to it in the logger file

   *
   * @param parm1 String message to be logged into the trace file
   */
  public void log( String parm1 ) {
    m_LogWriter.println( parm1 );
    m_LogWriter.flush(  );
  }

  /**
   * Implements the abstract method printStackTrace(). This method prints the
   * Stack trace information in the logger file
   *
   * @param parm1 Stack trace information

   */
  public void printStackTrace( Throwable parm1 ) {
    StringWriter sw = new StringWriter(  );
    PrintWriter pw = new PrintWriter( sw );
    parm1.printStackTrace( pw );
    pw.close(  );
    log( sw.toString(  ) );
  }
}
E-mail this page
Printer View Printer View
Oracle Is The Information Company About Oracle | Oracle RSS Feeds | Careers | Contact Us | Site Maps | Legal Notices | Terms of Use | Privacy