home *** CD-ROM | disk | FTP | other *** search
/ Datatid 1999 #6 / Datatid_1999-06.iso / internet / Tango352Promo / Tango / data.z / TraceManager.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-02-03  |  3.2 KB  |  97 lines

  1. package com.everyware.tango.jas;
  2.  
  3. import java.io.FileOutputStream;
  4. import java.io.IOException;
  5. import java.util.Calendar;
  6.  
  7. public class TraceManager implements Timeable {
  8.    private JAS jas;
  9.    private FileOutputStream logFile;
  10.  
  11.    public TraceManager(JAS var1) {
  12.       this.jas = var1;
  13.       this.rollOverFile();
  14.  
  15.       try {
  16.          var1.getTimer().register(this, this, this.getNextRolloverTime());
  17.       } catch (Exception var2) {
  18.       }
  19.    }
  20.  
  21.    public void eventElapsed(Object var1) {
  22.       this.trace("TraceManager: Log File rollover event elapsed");
  23.       this.rollOverFile();
  24.  
  25.       try {
  26.          this.jas.getTimer().register(this, this, this.getNextRolloverTime());
  27.       } catch (Exception var2) {
  28.       }
  29.    }
  30.  
  31.    public synchronized void trace(String var1) {
  32.       try {
  33.          this.logFile.write((var1 + "\n").getBytes());
  34.          this.logFile.flush();
  35.       } catch (IOException var3) {
  36.          System.err.println("\nTM: Could not write trace message" + var1 + "\n   got Exception:" + var3);
  37.       }
  38.    }
  39.  
  40.    private int getNextRolloverTime() {
  41.       Calendar var4 = Calendar.getInstance();
  42.       long var5 = var4.getTime().getTime();
  43.       if (this.jas.isTracing()) {
  44.          this.trace("TM: current time in Millis is: " + var5);
  45.       }
  46.  
  47.       int var7 = var4.get(1);
  48.       int var8 = var4.get(2);
  49.       int var9 = var4.get(5);
  50.       byte var10 = 0;
  51.       byte var11 = 0;
  52.       byte var12 = 0;
  53.       var4.set(var7, var8, var9, var10, var11, var12);
  54.       if (this.jas.isTracing()) {
  55.          this.trace("TM: Time at 12am today in Millis was: " + var4.getTime().getTime());
  56.       }
  57.  
  58.       var4.add(5, 1);
  59.       long var1 = var4.getTime().getTime();
  60.       if (this.jas.isTracing()) {
  61.          this.trace("TM: time in 24 hours in Millis is: " + var1);
  62.       }
  63.  
  64.       int var3 = (int)((var1 - var5) / 1000L);
  65.       if (this.jas.isTracing()) {
  66.          this.trace("TM: next Event time in sec is: " + var3);
  67.       }
  68.  
  69.       return var3;
  70.    }
  71.  
  72.    public void rollOverFile() {
  73.       if (this.logFile != null) {
  74.          try {
  75.             this.logFile.close();
  76.          } catch (IOException var9) {
  77.             System.err.println("TM: " + var9 + " Could not close log file");
  78.             this.jas.finalize();
  79.          }
  80.       }
  81.  
  82.       try {
  83.          Calendar var1 = Calendar.getInstance();
  84.          int var2 = var1.get(1);
  85.          int var3 = var1.get(2);
  86.          int var4 = var1.get(5);
  87.          int var5 = var1.get(11);
  88.          int var6 = var1.get(12);
  89.          int var7 = var1.get(13);
  90.          this.logFile = new FileOutputStream("JASlog." + var2 + "" + (var3 <= 9 ? "0" : "") + var3 + (var4 <= 9 ? "0" : "") + var4 + "." + (var5 <= 9 ? "0" : "") + var5 + (var6 <= 9 ? "0" : "") + var6 + (var7 <= 9 ? "0" : "") + var7);
  91.       } catch (IOException var8) {
  92.          System.err.println("TM: Could not Open log file, terminating JAS server");
  93.          this.jas.finalize();
  94.       }
  95.    }
  96. }
  97.