簡體   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