1 23 24 28 package com.sun.jts.trace; 29 30 import java.io.*; 31 import com.sun.jts.CosTransactions.*; 32 import org.omg.CosTransactions.*; 33 34 45 public class TraceUtil 46 { 47 private static int m_currentTraceLevel = TraceLevel.IAS_JTS_TRACE_TRIVIAL ; 48 private static char m_fieldDelimiter = ':'; 49 private static String m_traceRecordTag = "iAS_JTS_Trace> "; 50 private static PrintWriter m_traceWriter = null ; 51 52 static 53 { 54 m_traceWriter = new PrintWriter(System.out); 55 } 56 57 62 public static void init(PrintWriter traceWriter) 63 { 64 setTraceWriter(traceWriter); 65 } 66 67 72 public static void setTraceWriter(PrintWriter traceWriter) 73 { 74 m_traceWriter = traceWriter; 75 } 76 77 82 public static PrintWriter getTraceWriter() 83 { 84 return m_traceWriter; 85 } 86 87 92 public static int getCurrentTraceLevel() 93 { 94 return m_currentTraceLevel; 95 } 96 97 104 public static void setCurrentTraceLevel(int traceLevel) throws InvalidTraceLevelException 105 { 106 if(Configuration.traceOn) 107 { 108 int i; 109 boolean traceLevelSet = false; 110 for(i = 0; i <= TraceLevel.IAS_JTS_MAX_TRACE_LEVEL; i++) 111 { 112 if(traceLevel == i) 113 { 114 m_currentTraceLevel = traceLevel; 115 traceLevelSet = true; 116 break; 117 } 118 } 119 if(!traceLevelSet) 120 throw new InvalidTraceLevelException(); 121 122 } 123 } 124 125 137 public static void print(int traceLevel, PrintWriter outWriter, Object tid, Object origin, String msg) 138 { 139 if( traceLevel <= m_currentTraceLevel ) 140 { 141 String traceRecord = TraceRecordFormatter.createTraceRecord(tid, origin, msg); 142 outWriter.println(traceRecord); 143 } 144 } 145 146 155 public static void print(int traceLevel, Object origin, String msg) 156 { 157 try{ 158 print(traceLevel, 159 ((com.sun.jts.CosTransactions.TopCoordinator) 160 com.sun.jts.CosTransactions.CurrentTransaction.getCurrent().get_localCoordinator()).get_transaction_name(), 161 origin, 162 msg 163 ); 164 }catch(Exception e){ 165 print(traceLevel,null,origin,msg); 166 } 167 } 168 169 178 public static void print(int traceLevel, Object tid, Object origin, String msg) 179 { 180 print(traceLevel,m_traceWriter,tid,origin,msg); 181 } 182 183 188 public static char getFieldDelimiter() 189 { 190 return m_fieldDelimiter; 191 } 192 193 198 public static void setFieldDelimiter(char delimiter) 199 { 200 m_fieldDelimiter = delimiter; 201 } 202 203 209 public static String getTraceRecordTag() 210 { 211 return m_traceRecordTag; 212 } 213 214 219 public static void setTraceRecordTag(String traceRecordTag) 220 { 221 m_traceRecordTag = traceRecordTag; 222 } 223 } 224 | Popular Tags |