Как вызвать log.error () из сервиса?Всегда дает «Нет такого свойства: журнал для класса: gi.mypackage. $ UserServiceImplementation - PullRequest
0 голосов
/ 18 февраля 2019

В Grails 3.3.8, используя новые сервисы Grails на основе интерфейсов, мой UserService выглядит примерно так:

interface IUserService {
    User get(Serializable id)
    List<User> list(Map args)
    Long count()
    void delete(Serializable id)
    User save(User user)
}

@Service(User)
@Transactional
abstract class UserService implements IUserService {
    @Override
    User save(User user) {
        log.error("mymessage")
}

Когда я вызываю мой метод userService.save(user), он не может разрешитьlog.Работает с контроллера из коробки.Как получить экземпляр журнала в службах Grails?

Ошибка:

Нет такого свойства: журнал для класса: gi.mypackage. $ UserServiceImplementation

1 Ответ

0 голосов
/ 18 февраля 2019

На основе раздела документации по именам регистратора , сервисам в grails-app/services/ должно быть автоматически добавлено log.Однако, если ваша служба находится в другом месте, например, src/main/groovy/, вам необходимо добавить аннотацию @Slf4j к вашему классу обслуживания.

@Service(User)
@Transactional
@Slf4j
abstract class UserService implements IUserService {
    @Override
    User save(User user) {
        log.error("mymessage")
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...