2011-11-15 57 views
2

我試圖尋找至少一個小時的答案,嘗試了所有我能找到的方式,但是我無法讓這個該死的東西從服務器代碼中記錄任何東西。
如果我在客戶端類中使用System.out.println(),控制檯會記錄它,但是當我在服務器端的任何東西中嘗試相同時,它都不起作用!如何在GWT項目中進行日誌記錄工作?

總之,測試類是在這裏:http://pastebin.com/e6XgeUuX

例如,我要記錄的uploadsFolder值。
我嘗試了以下內容,他們沒有工作(不輸出在Eclipse控制檯,而不是在.gwt日誌,無處):

System.out.println(uploadsFolder.getPath()); 
GWT.log(uploadsFolder.getPath()); 
log.info(uploadsFolder.getPath()); // by creating an ordinary java.util.Logger in the body of the class 

我有什麼做的,使其只需登錄任何東西我想登錄?爲什麼連System.out.println()都不工作?
我對這個噩夢完全陌生,所以我需要一個徹底的解釋,而不僅僅是「讀這個」。

P.S.我試圖用這個做一個圖庫;我已經做了前端,但現在我試圖讓它保存在磁盤上的圖像,而不是在內存中,爲此我需要知道它是否以及在哪裏創建上傳文件夾(我找不到任何找出戰爭文件夾的路徑......)

回答

2

你試過這個嗎?

Logger logger = Logger.getLogger("NameOfYourLogger"); 
logger.log(Level.SEVERE, "this message should get logged"); 

這總是適用於我的服務器,System.out.println(「」)也適用於此事。

也許有什麼不對您的uploadsFolder對象,試着在後面加上一些它像以前一樣:

logger.log( 「我的道路上載:」 + uploadsFolder.getPath());

+0

既不適合我,這就是爲什麼我問。試圖製作Logger.getLogger(「com.gwttest.server」);並像這樣記錄: \t \t \t \t \t final String UPLOAD_DIRECTORY =「gwttestproject/images/upload /」+ now; \t \t \t \t \t log.info(UPLOAD_DIRECTORY); \t \t \t \t \t final File uploadsFolder = new File(UPLOAD_DIRECTORY); \t \t \t \t \t log.info(uploadsFolder.getPath());這裏的uploadsFolder對象可能有什麼問題?不管我記錄什麼,我都可以做log.severe(「OMFG!」);它不會記錄一件事情。 – jurchiks

+0

嗯..對不起,我認爲問題是不同的,因爲你不能在GWT中使用java.io.File。在GWT上不支持很多java.io。你需要從html5使用本地存儲,我知道這個庫是有用的http://code.google.com/p/gwt-client-storage/請讓我知道它是否工作 – Rohan

+0

好的,那是另一個問題。我告訴你它不記錄任何東西,甚至純文本!它與File類無關。 – jurchiks

0

代碼編譯爲JavaScript(GWT.log()用於HostedMode日誌記錄)時,這些都不能使用。有這個庫gwt-log,我以前有過很多成功的,它允許你通過RPC和許多其他選項登錄到文件。

+0

問題是關於日誌服務器端,而不是客戶端;正如我描述的那樣,後者爲我工作。服務器端代碼不會被編譯爲JavaScript。但無論如何,我在一年前問過這個問題,這對我來說已經不再適用了。 – jurchiks