package com.akjava.gwt.lib.client; import java.util.concurrent.TimeUnit; import com.google.common.base.Stopwatch; import com.google.gwt.core.client.JavaScriptObject; import com.google.gwt.user.client.Window; public class LogUtils { public static final native void log(JavaScriptObject object)/*-{ if(typeof console === "undefined"){ console = { log: function() { },error:function(){},warn:function(){} }; } if(console){ console.log(object); } }-*/; public static final void log(Object value){ if(value!=null){ if(value instanceof JavaScriptObject){ log((JavaScriptObject)value); }else{ log(value.toString()); } }else{ log("null"); } } public static final void log(Number value){ log(""+value); } public static final void logImageDataUrl(String dataUrl){ Window.open(dataUrl, ""+System.currentTimeMillis(), null); } public static final Stopwatch stopwatch(){ return Stopwatch.createStarted(); } public static final void millisecond(String head,Stopwatch watch){ log(head+" "+watch.elapsed(TimeUnit.MILLISECONDS)+" ms"); } public static final void microsecond(String head,Stopwatch watch){ log(head+" "+watch.elapsed(TimeUnit.MICROSECONDS)+" micro second"); } public static final void logAndAlert(String log){ logAndAlert(log, log); } public static final void logAndAlert(String log,String alert){ log(log); Window.alert(alert); } public static final native void log(String object)/*-{ if(typeof console === "undefined"){ console = { log: function() { },error:function(){},warn:function(){} }; } if(console){ console.log(object); } }-*/; public static final native void error(JavaScriptObject object)/*-{ if(typeof console === "undefined"){ console = { log: function() { },error:function(){},warn:function(){} }; } if(console){ console.error(object); } }-*/; public static final void error(Object value){ if(value!=null){ if(value instanceof JavaScriptObject){ error((JavaScriptObject)value); }else{ error(value.toString()); } }else{ error("null"); } } public static final void error(Number value){ error(""+value); } public static final native void error(String object)/*-{ if(typeof console === "undefined"){ console = { log: function() { },error:function(){},warn:function(){} }; } if(console){ console.error(object); } }-*/; public static final native void warn(JavaScriptObject object)/*-{ if(typeof console === "undefined"){ console = { log: function() { },error:function(){},warn:function(){} }; } if(console){ console.warn(object); } }-*/; public static final void warn(Object value){ if(value!=null){ if(value instanceof JavaScriptObject){ warn((JavaScriptObject)value); }else{ warn(value.toString()); } }else{ warn("null"); } } public static final void warn(Number value){ warn(""+value); } public static final native void warn(String object)/*-{ if(typeof console === "undefined"){ console = { log: function() { },error:function(){},warn:function(){} }; } if(console){ console.warn(object); } }-*/; }