Changeset 1878

Show
Ignore:
Timestamp:
05/14/09 12:11:23 (3 years ago)
Author:
eitan
Message:

revised logging configuration for jmatter apps

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • jmatter-complet/trunk/jmatter/src/com/u2d/app/Tracing.java

    r611 r1878  
    22 
    33import java.util.logging.*; 
     4import java.util.Date; 
    45import java.io.StringWriter; 
    56import java.io.PrintWriter; 
     7import java.io.IOException; 
     8import java.text.MessageFormat; 
    69 
    710/** 
     
    1720public class Tracing 
    1821{ 
    19    public static final String JMATTER_LOGGER_NAME = "com.u2d.jmatter"; 
     22   public static final String JMATTER_LOGGER_NAME = "org.jmatter"; 
     23   private static int LOGFILE_SIZELIMIT = 5 * 1024 * 1024;  // 5 MB 
    2024 
    2125   static 
    2226   { 
    23       Logger tracer = Logger.getLogger(JMATTER_LOGGER_NAME); 
    24       tracer.setUseParentHandlers(false); 
     27      configureLogging(); 
     28   } 
     29   private static synchronized void configureLogging() 
     30   { 
     31//      Formatter formatter = new SimpleFormatter(); 
     32      Formatter formatter = new ShortFormatter(); 
     33      Level desiredLogLevel = Level.INFO; 
    2534 
    26       tracer.setLevel(Level.FINE); 
     35      Logger rootLogger = Logger.getLogger(""); 
     36 
     37      // start out clean.. 
     38      for (Handler h : rootLogger.getHandlers()) 
     39      { 
     40         rootLogger.removeHandler(h); 
     41      } 
     42 
    2743      Handler handler = new ConsoleHandler(); 
    28       handler.setFormatter(new ShortFormatter()); 
    29       tracer.addHandler(handler); 
    30       tracer.config("Tracing has been configured..level is "+tracer.getLevel()); 
     44      handler.setFormatter(formatter); 
     45      handler.setLevel(desiredLogLevel); 
     46      rootLogger.addHandler(handler); 
     47 
     48      try 
     49      { 
     50         String filePattern = "application%g.log"; 
     51         Handler fileHandler = new FileHandler(filePattern, LOGFILE_SIZELIMIT, 5, false); 
     52         fileHandler.setFormatter(formatter); 
     53         fileHandler.setLevel(desiredLogLevel); 
     54         rootLogger.addHandler(fileHandler); 
     55      } 
     56      catch (IOException ex) 
     57      { 
     58         ex.printStackTrace(); 
     59      } 
     60 
     61      rootLogger.setLevel(desiredLogLevel);  // let child logger levels default to value inherited from root logger 
     62      rootLogger.config("Tracing has been configured..level is "+rootLogger.getLevel()); 
    3163   } 
    32  
    3364   public static Logger tracer() { return Logger.getLogger(JMATTER_LOGGER_NAME); } 
    3465 
     
    3768   { 
    3869      private String lineSeparator = System.getProperty("line.separator"); 
     70      Date dat = new Date(); 
     71      private final static String format = "{0,date} {0,time}"; 
     72      private MessageFormat formatter = new MessageFormat(format); 
     73      private Object args[] = new Object[1]; 
    3974 
    4075      public synchronized String format(LogRecord record) 
    4176      { 
    4277         StringBuffer sb = new StringBuffer(); 
    43          String message = formatMessage(record); 
     78 
     79         dat.setTime(record.getMillis()); 
     80         args[0] = dat; 
     81         formatter.format(args, sb, null); 
     82         sb.append(" / "); 
     83 
    4484         sb.append(record.getLevel().getLocalizedName()); 
    4585         sb.append(": "); 
     86 
     87         String message = formatMessage(record); 
    4688         sb.append(message); 
     89 
    4790         sb.append(lineSeparator); 
    4891         if (record.getThrown() != null)