Каким образом можно регистрировать сообщения или ошибки из класса Entity или Repository в архитектуре symfony2? В symfony1 вы можете использовать синглтон, чтобы убивать щенков, делая что-то подобное, чтобы получить регистратор откуда угодно:
sfContext::getInstance()->getLogger()
Контейнерная модель Symfony2 более строгая, и это здорово, но как нужно вести журнал из классов, не поддерживающих контейнер? Для repos, я думаю, вы можете определить их (все) как службы, с зависимостью от регистратора и оттуда. Но как насчет того, когда у вас есть экземпляр класса Entity?
Исторически я хотел бы поместить сообщение журнала внутри методов класса, но теперь? Должен ли я передать регистратор (как параметр) в каждый метод класса, который хочет записать сообщение журнала? Это похоже на перебор, но, возможно, это лучшая практика?
Или я смотрю на это неправильно, и Entities или Repos не должны записывать сообщения журнала, а передавать их обратно контроллеру для обработки?
Вероятно, вам следует избегать размещения бизнес-логики (даже регистрации) внутри модели сущности.
Что касается репозиториев, то, как вы описали, является правильным.