我試圖避免一大堆手動檢查來調試我的代碼,即使錯誤很可能會變成錯誤類型或類似的東西。我正在使用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獲取更多信息?
它可以幫助某人,你可以回答你自己的問題。這很有趣,我甚至會投票。 – Quaternion