package carpool.common; import java.io.IOException; import java.io.PrintStream; import java.io.UnsupportedEncodingException; import java.util.Calendar; import org.apache.log4j.ConsoleAppender; import org.apache.log4j.DailyRollingFileAppender; import org.apache.log4j.Level; import org.apache.log4j.Logger; import org.apache.log4j.PatternLayout; import org.apache.log4j.RollingFileAppender; import org.json.JSONObject; import carpool.aws.AwsMain; import carpool.configurations.CarpoolConfig; import carpool.factory.JSONFactory; import carpool.interfaces.PseudoModel; import carpool.log4j.log4j; public class DebugLog { private static Logger logger = Logger.getLogger(DebugLog.class); // private static PatternLayout layout; // private static DailyRollingFileAppender dFileAppender; // public static void initializeLogger(){ // try { // logger.setLevel(Level.INFO); // layout = new PatternLayout(CarpoolConfig.log4jBasicPatternLayout); // logger.addAppender(new ConsoleAppender(layout)); // dFileAppender = new DailyRollingFileAppender(layout, CarpoolConfig.log4LogFileFolder+"applicationStart"+CarpoolConfig.log4jLogFileSuffix, "'.'yyyy-MM-dd"); // logger.addAppender(dFileAppender); // } catch (IOException e) { // e.printStackTrace(); // } // } public static void initializeLogger(){ log4j.configure(); } public static void d(Exception e){ //using reflection to get caller name, 500x faster than stack trace //if not accessible, do: right click on project -> configure build path -> remove JRE system library -> add Library -> JRE System Library (Default) -> OK, clean & recompile String caller = sun.reflect.Reflection.getCallerClass(2).getName(); logger.info(caller + " got Exception! ",e); e.printStackTrace(); } public static void d(String message){ log(message); } public static void d(PseudoModel p){ JSONObject json = JSONFactory.toJSON(p); log(json.toString()); } private static void log(String message){ logger.info(message); } }