grails和调试UrlMappings

fin*_*elp 11 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")
Run Code Online (Sandbox Code Playgroud)

在测试中,我故意抛出NullPointerException(NPE).当在URL中输入浏览器的地址栏时,将调用500处理并提供500页.但是,当将表单发布到服务器并且使用NPE故意破坏处理代码时,不会调用"500"处理代码.表单操作中的URL似乎以扩展名结尾.所以,不确定为什么GET(浏览器URL)和POST(表单提交)之间的行为差​​异.

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

小智 11

在Config.groovy中,您可以通过添加来修改url映射事件的log4j设置

all 'org.codehaus.groovy.grails.web.mapping'
Run Code Online (Sandbox Code Playgroud)

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