Вход в grails для определенного контроллера

#logging #grails #log4j

#регистрация #grails #log4j

Вопрос:

У меня есть этот код в моей конфигурации.groovy:

     appenders {
        console name: "stdout", layout: pattern(conversionPattern: "%c{2} %m%n")
    }

    root {
        warn 'stdout'
    }
  

Теперь я хочу регистрировать сообщения с уровнем отладки от определенного контроллера (или определенного пакета). Как я могу этого добиться?

Ответ №1:

Если имя вашего контроллера есть ExampleController в com.example пакете, добавьте это в закрытие log4j в вашем Config.groovy :

 debug 'grails.app.controllers.com.example.ExampleController'
  

Смотрите руководство пользователя Grails для получения дополнительных примеров ведения журнала.

Комментарии:

1. Я забыл часть ‘grails.app’. Спасибо.

2. Я полагаю, что на самом деле это ‘grails.app.controllers.com.example.ExampleController’ (обратите внимание на ‘s’ в ‘controllers’. По крайней мере, это то, что заставило это работать у меня в Grails 2.0.1.

Ответ №2:

Попробуйте это:

 debug "grails.app.controller.your.package.YourController"
  

Я предполагаю, что вы используете grails 1.3.X. В версиях grails 1.0.X была разница.

Комментарии:

1. Как отмечалось ранее, это «app.controllers», а не «app.controller». Смотрите: grails.org/doc/latest/guide/conf.html#logging

2. @MikeC Я думаю, что это изменение произошло между 1.3.x и 2.x.y