11

グレイルでは、UrlMappings.groovy(例:println)にコードを追加して、リクエストURIが何であり、どのマッピングがヒットしているのか(存在する場合)を把握するにはどうすればよいですか?

バックグラウンド:

この状況では、ファイル拡張子に基づいて異なるサービスを提供する2つのサーバーがあります。したがって、2つのサーバーは、エラー処理を続行するために常にファイル拡張子を確認する必要があります。そうしないと、サーバーが混乱し、1が500ページではなく404ページを提供します。

全体像は、NullPointerExceptionのようなものが原因で500応答を取得し、コードをトレースして何が起こっているかを確認することです。

http://jetlet.blogspot.com/2010/08/grails-exception-handling-with-response.htmlにある次のようなコードを追加しました。

"500" (controller: "error", action: "internalError")

これをテストする際に、意図的にNullPointerException(NPE)をスローしています。ブラウザのアドレスバーにURLを入力すると、500処理が呼び出され、500ページが表示されます。ただし、フォームをサーバーに送信し、処理コードをNPEで意図的に爆発させる場合、「500」処理コードは呼び出されません。フォームのアクションのURLは拡張子で終わっているようです。したがって、GET(ブラウザのURL)とPOST(フォームの送信)の動作に違いがある理由がわかりません。

これを追跡するための洞察と考えをありがとう!

4

1 に答える 1

11

Config.groovyで、次を追加することにより、URLマッピングイベントのlog4j設定を変更できます。

all 'org.codehaus.groovy.grails.web.mapping'

既存のlog4j設定に。すべてが最も冗長な設定であるため、それがあまりにも多くを与え始めた場合は、元に戻すことができます。詳細については、Grailsの公式ドキュメントをご覧ください:http://grails.org/doc/latest/guide/3.%20Configuration.html

于 2011-01-25T21:24:19.253 に答える