grails和调试UrlMappings

时间:2011-01-25 02:48:15

标签: grails url-mapping

在grails中,我如何向UrlMappings.groovy(例如:println)添加一些代码,以便我可以弄清楚请求URI是什么以及哪个映射被命中(如果有的话)?

背景

在这种情况下,有两台服务器根据文件扩展名提供不同的服务。因此,两台服务器需要始终查看文件扩展名以便继续进行错误处理。否则,服务器会混淆,1会提供404页而不是我们的500页。

更大的图片涉及因为类似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(表单提交)之间的行为差​​异。

感谢有关跟踪此问题的见解和想法!

1 个答案:

答案 0 :(得分:11)

在Config.groovy中,您可以通过添加

修改网址映射事件的log4j设置
all 'org.codehaus.groovy.grails.web.mapping'

到您现有的log4j设置。所有这些都是最详细的设置,所以如果它开始给你太多的话可以调整回来。您可以在官方grails文档中找到更多信息:http://grails.org/doc/latest/guide/3.%20Configuration.html