2011-01-25 61 views
10

Grails中,我怎么能添加一些代码到UrlMappings.groovy(例如:的println),这样我可以找出请求的URI是和映射击中(如果有的话)?Grails和调试UrlMappings

背景:

在这种情况下,还有一些服务基于文件的扩展名不同的东西两个服务器。因此,这两台服务器需要始终查看文件扩展名以进行错误处理。否则,服务器会感到困惑,1会提供404页面而不是500页面。

的大局观涉及服用500响应由于像一个NullPointerException和跟踪它通过代码来看看发生了什么。

我加入像其在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(表单提交)之间的行为差​​异。

感谢在跟踪下来的见解和想法!

+0

对不起,你的话是相当模糊了我。你能介绍一下更详细的例子吗? – 2011-01-25 03:29:34

+0

代码来说明你的问题将在这里非常受欢迎 – fabien7474 2011-01-25 08:26:17

回答

10

在你的Config.groovy可以修改URL映射事件您的log4j设置加入

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

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