使用Jquery ajax()调用,Tomcat日志保持沉默

时间:2011-07-08 18:38:48

标签: jquery tomcat struts2 log4j mybatis

我试图避免一大堆手动检查来调试我的代码,即使错误很可能会变成错误或类似的东西。我正在使用jQuery对Struts 2操作进行ajax()调用,并且执行被暂停。在Javascript级别,我得到了非常具有描述性的500错误,表明“没有任何线索,你是在自己的开发者身上”。所以我在Struts2的动作级别所做的是在每个命令之后放置一个log.info行。以下是我的演示目的:

       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获取更多信息?

1 个答案:

答案 0 :(得分:1)

活动似乎已经死了,所以我会将我的答案从评论转到答案部分。

好的,我解决了具体案例。我的SqlDeveloper阻止了myBatis。我关闭了我的SqlDeveloper,因为我打算离开这一天,并且Tomcat在无人看管的情况下进行了一个小时之后的行动,从那里开始删除了我想要删除的2个音符。所以我理解为什么在这种情况下不会有Tomcat日志,MyBatis仍在尝试完成原始更新操作。