debugging - 如何调试Grails中发送的参数

标签 debugging grails parameters

Grails非常高兴在发生错误的情况下追加发送到控制台输出的参数:

2011-05-23 12:17:05,173 [http-8080-5] ERROR errors.GrailsExceptionResolver  - Exception occurred when processing request: [POST] / - parameters:
maps: on
maps: on
maps: on
maps: 
_isPublic: 
description: test
name: set1
isPublic: on
Stacktrace follows:
...

但是如何告诉它始终显示发送了哪些参数(例如在Rails中)?

我当前的log4j配置如下所示:
error  'org.codehaus.groovy.grails.web.servlet',  //  controllers
       'org.codehaus.groovy.grails.web.pages', //  GSP
       'org.codehaus.groovy.grails.web.sitemesh', //  layouts
       'org.codehaus.groovy.grails.web.mapping.filter', // URL mapping
       'org.codehaus.groovy.grails.web.mapping', // URL mapping
       'org.codehaus.groovy.grails.commons', // core / classloading
       'org.codehaus.groovy.grails.plugins', // plugins
       'org.codehaus.groovy.grails.orm.hibernate', // hibernate integration
       'org.springframework',
       'org.hibernate',
       'net.sf.ehcache.hibernate'

warn   'org.mortbay.log'

最佳答案

我不相信Grails本身支持记录每个请求的请求参数。但是,您可以在过滤器中轻松实现此目的:

package com.example

class MyFilters {

  private static final log = org.apache.commons.logging.LogFactory.getLog(this)

  def filters = {
    paramLogger(controller:'*', action:'*') {
      before = {
        log.debug "request params: $params"
      }
    }
  }
} 

记住要通过在Config.groovy中为此过滤器启用调试日志记录,方法是添加
debug com.example

log4j闭包

关于debugging - 如何调试Grails中发送的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6095917/

相关文章:

c++ - 返回不准确的鼠标坐标

c++ - 如何在 C++ 中解释以下错误消息

c++ - 如何在 CodeWarrior 调试器中检查 STL 列表?

python - Pycharm CE 在我的 Django 项目中没有遇到断点

grails - 使用 resources.groovy 定义服务

grails - 我的grails Controller 发生了一件奇怪的事情,为什么?

javascript - javascript中的Grails hashmap变量给出了不同的格式

reporting-services - SSRS 下拉参数不会重新填充

php - 为什么类型转换不是 PHP 函数参数中的一个选项

显示默认值的 powershell 强制参数