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