Grails и отладка UrlMappings - PullRequest
       7

Grails и отладка UrlMappings

11 голосов
/ 25 января 2011

В граалях, как я могу добавить некоторый код в UrlMappings.groovy (например, 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 вызывается и 500 страниц обслуживается при вводе URL в адресную строку браузера.Тем не менее, при отправке формы на сервер и при наличии специального кода обработки, специально созданного с помощью NPE, код обработки «500» не вызывается.URL в действии формы, похоже, заканчивается расширением.Итак, не уверен, почему разница в поведении между GET (URL браузера) и POST (отправкой формы).

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

1 Ответ

11 голосов
/ 26 января 2011

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

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

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

...