1 11 package org.eclipse.ui.internal.browser.browsers; 12 13 import java.io.*; 14 import com.ibm.icu.text.DateFormat; 15 import com.ibm.icu.text.SimpleDateFormat; 16 import java.util.Date ; 17 18 import org.eclipse.ui.internal.browser.WebBrowserUIPlugin; 19 22 public class BrowserLog { 23 private static BrowserLog instance; 24 private String logFileName; 25 private boolean newSession; 26 DateFormat formatter = new SimpleDateFormat("MMM dd, yyyy kk:mm:ss.SS"); String LN = System.getProperty("line.separator"); 31 private BrowserLog() { 32 try { 33 newSession = true; 34 logFileName = WebBrowserUIPlugin.getInstance().getStateLocation().append("browser.log").toOSString(); } catch (Exception e) { 36 } 38 } 39 42 private static BrowserLog getInstance() { 43 if (instance == null) { 44 instance = new BrowserLog(); 45 } 46 return instance; 47 } 48 51 public static synchronized void log(String message) { 52 getInstance().append(message); 53 } 54 private void append(String message) { 55 if (logFileName == null) { 56 return; 57 } 58 Writer outWriter = null; 59 try { 60 outWriter = new BufferedWriter(new OutputStreamWriter( 61 new FileOutputStream(logFileName, true), "UTF-8")); if (newSession) { 63 newSession = false; 64 outWriter.write(LN + formatter.format(new Date ()) 65 + " NEW SESSION" + LN); } 67 outWriter.write(formatter.format(new Date ()) + " " + message + LN); outWriter.flush(); 69 outWriter.close(); 70 } catch (Exception e) { 71 if (outWriter != null) { 72 try { 73 outWriter.close(); 74 } catch (IOException ioe) { 75 } 77 } 78 } 79 } 80 } 81 | Popular Tags |