logging - 如何让注入(inject)的记录器在 grails 中工作?

标签 logging grails groovy dependency-injection

我绝对是 grails 的初学者,并且我偶然发现了一些本应很简单的东西。我一直在 controller dynamic methods 上查看此页面我看到那里正在登录。如何使我的 Controller 能够接收注入(inject)的记录器?到目前为止,这就是我的 Controller 所拥有的全部内容:

package my.app

class LinkRewritterController {
    def index = { }

    // How do make the injected logger work?
    def logMe() {
        log.debug "Foo value"
    }
}

我错过了什么?

最佳答案

您已经注入(inject)了一个记录器,否则您将在 log.debug 行上收到空指针异常或缺少属性异常。但是您看不到调试消息,因为它们低于阈值。避免使用 grails.org 上的随机 wiki 页面,而使用引用手册:http://grails.org/doc/latest/特别是查看有关日志记录的第 3.1.2 节:http://grails.org/doc/latest/guide/3.%20Configuration.html#3.1.2%20Logging

这里还有一个更新版本,其中包含更多信息:http://people.apache.org/~pledbrook/grails-guide/guide/3.%20Configuration.html#3.1.2%20Logging

要查看此 Controller 的调试消息,请将此行添加到 grails-app/conf/Config.groovy 中的 log4j 闭包中:

log4j = {
   ...
   debug 'grails.app.controller.my.app.LinkRewritterController'
}

关于logging - 如何让注入(inject)的记录器在 grails 中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4643344/

相关文章:

java - Groovy DexArchiveBuilderException

java - 字符串到日期转换的问题

python - 使用 Fabric 和 Python 进行日志记录

java - Apache Camel 重新交付 : how to use the attempt number

jquery - Geb测试:如何单击 Controller Action 的链接?

grails - 为什么Grails插件的BootStrap无法执行?

tomcat - grails 2.0 - 在 Jetty 中运行,在 Tomcat 中运行

java - 有理由避免使用 slf4j 吗?

java - log4j GC的免费性能

grails - Grails自下而上的开发