2011-07-08 54 views
0

我試圖避免一大堆手動檢查來調試我的代碼,即使錯誤很可能會變成錯誤類型或類似的東西。我正在使用jQuery調用ajax()調用Struts 2操作,並停止執行。在Javascript級別,我得到了非常具有描述性的500錯誤,指出「不知道,你是你自己的開發人員」。所以我在Struts2的行爲級別上做的是在每個命令之後放入一個log.info行。以下是我對演示的目的:使用jquery ajax()調用,Tomcat日誌陷入沉默

 log.info("Trying to process " + entry.trim()); 
     int noteIndex = Integer.valueOf(entry.trim()); 
     log.info("Note index is " + noteIndex + " in a list of size " + iss.getNotes().size()); 
     Integer noteId = iss.getNoteByIndex(noteIndex).getIssueNoteId(); 
     log.info("Noteid is " + noteId); 
     service.deleteNote(noteId); 
     log.info("Note " + noteId + " has been deleted"); 

我的tomcat的日誌給我:

2011-07-08 14:26:54,135 INFO [http-8080-3] (IssueNoteAction.java:54) - Entering delete note with 2,3 
2011-07-08 14:26:54,135 INFO [http-8080-3] (IssueNoteAction.java:61) - Trying to process 2 
2011-07-08 14:26:54,135 INFO [http-8080-3] (IssueNoteAction.java:63) - Note index is 2 in a list of size 5 
2011-07-08 14:26:54,135 INFO [http-8080-3] (IssueNoteAction.java:65) - Noteid is 80686 

這表明調用我的Struts 2的服務,deleteNote這實際上不軟刪除(更新聲明)通過myBatis,是問題所在。然而,明顯的失敗是沉默的。通常,當我對myBatis犯了一個錯誤時,myBatis會讓我知道(而且日誌通常非常有用),並且我會糾正我的錯誤。我將myBatis設置爲INFO級別。

那麼,關閉Tomcat的是什麼?不僅適用於此場合,而且還適用於未來需要調試的ajax()調用,我如何才能從Tomcat/Log4J獲取更多信息?

+0

它可以幫助某人,你可以回答你自己的問題。這很有趣,我甚至會投票。 – Quaternion

回答

1

活動看起來很死,所以我會將我的答案從評論移到答案部分。

好的,我得到了具體的案件解決。我的SqlDeveloper阻止了myBatis。我關閉了我的SqlDeveloper,因爲我打算離開這一天,而Tomcat在無人看管的情況下繼續行進了一個多小時,從那裏離開,刪除了我想刪除的兩個備註。所以我明白爲什麼在這種情況下不會有Tomcat日誌,MyBatis仍然試圖完成原始更新操作。