繁体   English   中英

System.out.println在Play Framework控制台中打印不正确

[英]System.out.println prints out of order in Play Framework console

我将Play 2.4与激活器1.3.7配合使用,并且注意到System.out.println并不总是打印到浏览器中的控制台。 这种情况很少见,但今天我付诸行动。 这是打印语句的顺序:

    System.out.println("width : " + mobileCrawl.getWidth());
    System.out.println("window width : " + mobileCrawl.getWindowWidth());
    System.out.println("scroll width : " + mobileCrawl.getScrollWidth());
    System.out.println("seed : " + mobileCrawl.getSeed());
    System.out.println("resolved seed : " + mobileCrawl.getResolvedSeed());
    System.out.println("crawl date : " + mobileCrawl.getCrawlDate());
    System.out.println("400 : " + mobileCrawl.isDetected400());
    System.out.println("401 : " + mobileCrawl.isDetected401());
    System.out.println("402 : " + mobileCrawl.isDetected402());
    System.out.println("403 : " + mobileCrawl.isDetected403());
    System.out.println("404 : " + mobileCrawl.isDetected404());
    System.out.println("500 : " + mobileCrawl.isDetected500());
    System.out.println("501 : " + mobileCrawl.isDetected501());
    System.out.println("502 : " + mobileCrawl.isDetected502());
    System.out.println("503 : " + mobileCrawl.isDetected503());

这是它打印的顺序(URL更改):

width : 980
window width : 980
scroll width : 980
seed : http://google.com/
resolved seed : https://www.google.com/
400 : false
401 : false
402 : false
crawl date : Fri Dec 18 11:18:09 MST 2015
403 : false
500 : false
404 : true
501 : false
502 : false
503 : false

该日期应在其后打印三行。 这些都是来自同一线程的打印语句,它们全部来自System.out ,而不是来自System.err ,因此不应有任何交错。

这些如何打印混乱? 我以为System.out保证订单。

如Max所言,如果您正在运行单线程,则不应发生这种情况。 也许尝试同步您的调用,以查看是否在您不知情的情况下线程混乱了?:

public synchronized void println(String s) { System.out.println(s); }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM