Grails и отладка UrlMappings

В grails, как я могу добавить некоторый код в UrlMappings.groovy(ex: println), чтобы я мог выяснить, что такое URI запроса и какое отображение попадает (если есть)?

Фон:

В этой ситуации есть два сервера, которые обслуживают разные вещи на основе расширения файла. Таким образом, двум серверам необходимо всегда видеть расширения файлов для обработки ошибок. В противном случае серверы путаются, а 1 обслуживает 404 страницы вместо нашей 500 страниц.

Большая картинка включает в себя принятие ответа 500 из-за чего-то вроде исключения NullPointerException и отслеживания его через код, чтобы увидеть, что происходит.

Я добавил следующий код, который находится на http://jetlet.blogspot.com/2010/08/grails-exception-handling-with-response.html:

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

При тестировании этого я специально выбрал исключение NullPointerException (NPE). Вызывается обработка 500, и при вводе URL-адреса в адресную строку браузера подано 500 страниц. Однако при отправке формы на сервер и сбое кода обработки с NPE код обработки "500" не вызывается. URL-адрес в действии формы заканчивается расширением. Итак, не знаете, почему разница в поведении между GET (URL-адрес браузера) и POST (отправка формы).

Спасибо за понимание и мысли по отслеживанию этого!

Ответ 1

В вашем Config.groovy вы можете изменить свои параметры log4j для событий сопоставления URL, добавив

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

к вашим существующим настройкам log4j. все это самая сложная настройка, поэтому ее можно настроить обратно, если это слишком много значит. Более подробную информацию вы можете найти в официальной документации по grails: http://grails.org/doc/latest/guide/3.%20Configuration.html