为什么?
在客户端中使用System.out.println时 - CodeServer的控制台中不会输出任何内容。
现在我正在登录浏览器控制台,但是如何登录系统控制台?
ps 我知道登录 gwt 的最佳方式是使用com.google.gwt.logging.Logging模块。它现在也可以与系统控制台一起使用。
为什么?
在客户端中使用System.out.println时 - CodeServer的控制台中不会输出任何内容。
现在我正在登录浏览器控制台,但是如何登录系统控制台?
ps 我知道登录 gwt 的最佳方式是使用com.google.gwt.logging.Logging模块。它现在也可以与系统控制台一起使用。
超级开发模式与生产编译基本相同(只是没有优化)
在生产中(编译的 javascript) System.out 不会将任何内容打印到您的 java 服务器端进程中。您的代码在 Javascript VM 中运行,它需要通过网络打印到 Java 控制台。
如果您在开发模式下运行,则您在连接到浏览器内插件的 JVM 中运行。这就是 System.out 有效的原因。
不是最漂亮的解决方案,但您可以像这样创建本机 JSNI 方法:
public static native void debug(String text)/*-{
console.debug(text)
}-*/;
然后只需调用:
debug("text here").
它应该输出到控制台。
我设置了一个远程记录器来解决这个问题。这样,所有客户端日志语句都将发送到日志仍然有效的服务器。您可以在此处找到说明:在 GWT 中设置 remoteLoggingServlet。
然后您可以使用普通的 java util 日志记录。
import java.util.logging.Logger;
private static Logger log = Logger.getLogger("mylogger");
不幸的是,堆栈跟踪在 javascript 中。我还没有弄清楚如何获得正确的java。希望这可以帮助!