Mega Code Archive

 
Categories / Java / Data Type
 

Extends Formatter

//package org.imirsel.util; import java.text.SimpleDateFormat; import java.util.Date; import java.util.logging.Formatter; import java.util.logging.LogRecord; /** This class is used to display the formatted logs.  *   * @author kumaramit01  * @since 0.4.0  *  */ public class NemaLogFormatter extends Formatter {      /** The maximum length of a thread name */   private final static int MAX_THREAD_NAME_LENGTH = 40;      /** The new line separator */   private final static String NEW_LINE = System.getProperty("line.separator");      /** The date formatter */   private final static SimpleDateFormat FORMATER = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss.SSS");      /** Should the class be reported */   private boolean bClass = true;   /** Creates the default formatter */   public NemaLogFormatter () {     bClass = true;   }      /** Creates the default formatter allowing to choose is the reporting class should be reported.    *     * @param bShowClass Should the class be shown?    */   public NemaLogFormatter ( boolean bShowClass ) {     bClass = bShowClass;   }      /** Formats the record.    *     * @param record The log record to format    * @return The formated record    */     @Override   public String format(LogRecord record) {       String className = record.getSourceClassName();              String threadName = Thread.currentThread().getName();       if(threadName!=null && threadName.length()>MAX_THREAD_NAME_LENGTH ){         threadName = threadName.substring(threadName.length()-MAX_THREAD_NAME_LENGTH);       }              String sTimeStamp = FORMATER.format(new Date(record.getMillis()));              return sTimeStamp+"::"+            record.getLevel()+":  "+            record.getMessage()+ "  " +             ((bClass)?" ["+className+"."+record.getSourceMethodName() + "]":"")+            ((bClass)?" <"+threadName+":"+record.getThreadID()+">":"")+            NEW_LINE;     } }