1 25 package net.sf.javaguard.log; 26 27 import java.io.PrintWriter ; 28 import java.util.Vector ; 29 30 31 32 33 38 public class FileLogger implements Log { 39 40 private int logFileLevel; 41 42 43 44 private static FileLogger theInstance = null; 45 48 private static PrintWriter logFileWriter = null; 49 50 private Vector methodWarnings; 51 52 private Vector warnings; 53 54 55 56 57 60 public static FileLogger getInstance() { 61 if (null == theInstance) { 62 theInstance = new FileLogger(); 63 } 64 return theInstance; 65 } 66 67 68 69 70 73 public static void setWriter(PrintWriter pw) { 74 logFileWriter = pw; 75 } 76 77 78 79 80 81 private FileLogger() { 82 warnings = new Vector (); 83 methodWarnings = new Vector (); 84 setLoggingLevel(NORMAL); 85 } 86 87 88 90 protected void finalize() { 91 close(); 92 } 93 94 95 97 public void close() { 98 if (null != logFileWriter) { 99 logFileWriter.flush(); 100 logFileWriter.close(); 101 } 102 } 103 104 105 106 107 113 public void setLoggingLevel(int level) { 114 logFileLevel = level; 115 } 116 117 118 121 public int getLoggingLevel() { 122 return logFileLevel; 123 } 124 125 126 128 public void incrementLoggingLevel() { 129 setLoggingLevel(getLoggingLevel() + 1); 130 } 131 132 133 134 135 139 public void println() { 140 println(""); 141 } 142 143 144 148 public void println(String msg) { 149 log(msg); 150 } 151 152 153 157 public void log(String msg) { 158 log(NORMAL, msg); 159 } 160 161 162 166 public void print(String msg) { 167 log(NORMAL, msg, false); 168 } 169 170 171 176 public void log(int level, String msg) { 177 log(level, msg, true); 178 } 179 180 181 188 public void log(int level, String msg, boolean lineFeed) { 189 if (getLoggingLevel() >= level) { 190 if (null != logFileWriter) { 191 if (lineFeed) { 192 logFileWriter.println(msg); 193 } else { 194 logFileWriter.print(msg); 195 } 196 } 197 } 198 } 199 200 201 202 203 206 public void printStackTrace(Exception ex) { 207 ex.printStackTrace(logFileWriter); 208 } 209 210 211 212 213 217 public void addMethodWarning(String msg) { 218 methodWarnings.addElement(msg); 219 } 220 221 222 225 public void printMethodWarnings() { 226 for (int i=0; i<methodWarnings.size(); i++) { 227 println((String ) methodWarnings.elementAt(i)); 228 } 229 } 230 231 232 233 234 238 public void addWarning(String msg) { 239 warnings.addElement(msg); 240 } 241 242 243 246 public void printWarnings() { 247 for (int i=0; i<warnings.size(); i++) { 248 println((String ) warnings.elementAt(i)); 249 } 250 } 251 } 252 | Popular Tags |