package org.petah.spring.bai.log; import java.io.File; import java.io.FileNotFoundException; import java.io.PrintStream; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; /** * * @author David Neilsen */ public class Log { public static PrintStream file; public static DateFormat dateFormat = new SimpleDateFormat("HH:mm:ss:SSS dd.MM.yyyy"); public static Object lastMessage = null; public static int lastMessageCount = 0; static { try { file = new PrintStream(new File("c:\\work\\bai.log")); } catch (FileNotFoundException ex) { } } public static void println(String type, Object message) { if (lastMessage != null) { if (lastMessage.equals(message)) { lastMessageCount++; return; } else { if (lastMessageCount > 0) { file.print(" [" + (lastMessageCount + 1) + "...]"); } file.println(); lastMessageCount = 0; } } file.print("[" + type + " " + dateFormat.format(new Date()) + "] " + message); file.flush(); lastMessage = message; } public static void debug(Object message) { println("DEBUG", message); } public static void entry(Class cls, String method) { println("ENTRY", cls.getName() + "." + method + "()"); } public static void ignoredException(Exception exception) { println("IGEXP", exception); } @Override protected void finalize() throws Throwable { println("EOF", ""); file.println(); file.println(); file.flush(); } }