+package org.simantics.utils.logging;\r
+\r
+import java.text.DecimalFormat;\r
+import java.text.NumberFormat;\r
+\r
+public class TimeLogger {\r
+ public static final boolean TIME_LOGGING_ENABLED = false;\r
+ \r
+ private static final NumberFormat TIME_FORMAT = new DecimalFormat("0.000");\r
+ \r
+ private static long BEGIN_TIME = System.nanoTime();\r
+ \r
+ private static void printCurrentTime() {\r
+ double time = (System.nanoTime() - BEGIN_TIME) * 1e-9;\r
+ System.out.print("[");\r
+ System.out.print(TIME_FORMAT.format(time));\r
+ System.out.print(" s] ");\r
+ }\r
+ \r
+ public static void resetTimeAndLog(String message) {\r
+ if(TIME_LOGGING_ENABLED) {\r
+ BEGIN_TIME = System.nanoTime();\r
+ printCurrentTime();\r
+ System.out.print(message);\r
+ System.out.print(" ");\r
+ for(int i=0;i<140-message.length();++i)\r
+ System.out.print("=");\r
+ System.out.println();\r
+ }\r
+ }\r
+ \r
+ public static void resetTimeAndLog(Class<?> clazz, String method) {\r
+ if(TIME_LOGGING_ENABLED)\r
+ resetTimeAndLog(clazz.getSimpleName() + "." + method);\r
+ }\r
+ \r
+ public static void resetTime() {\r
+ if(TIME_LOGGING_ENABLED)\r
+ BEGIN_TIME = System.nanoTime();\r
+ }\r
+ \r
+ public static void log(String message) {\r
+ if(TIME_LOGGING_ENABLED) {\r
+ printCurrentTime();\r
+ System.out.println(message);\r
+ }\r
+ }\r
+ \r
+ public static void log(Class<?> clazz, String method) {\r
+ if(TIME_LOGGING_ENABLED)\r
+ log(clazz.getSimpleName() + "." + method);\r
+ }\r
+}\r