0

エラーがタイプミスまたはそのようなばかげたものであることが判明する可能性が高い場合でも、コードをデバッグするために大量の手動検査を回避しようとしています。jQueryを使用してStruts2アクションに対して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からより多くの情報を取得するにはどうすればよいですか?

4

1 に答える 1

1

アクティビティはかなり死んでいるように見えるので、コメントから回答セクションに回答を移動します。

わかりました、私は特定のケースを解決しました。私のSqlDeveloperはmyBatisをブロックしていました。SqlDeveloperをシャットダウンしたのは、その日のために出発する予定だったためです。Tomcatは、削除したい2つのメモの削除を中断したところから、1時間以上後に無人で行進します。したがって、この場合にTomcatログがない理由を理解しましたが、MyBatisはまだ元の更新アクションを実行しようとしていました。

于 2011-07-11T00:19:32.460 に答える