2014-12-05 2 views
1

Я использую структуру ведения журнала winston и регистрируюсь на основе уровня журнала, но теперь я сталкиваюсь с трудностями при отслеживании ошибок. Поэтому мы решили сделать вход в систему на основе пользователя, и именно здесь я столкнулся с проблемой.Как сделать регистрацию базы данных с помощью hapi js

Что я хочу добиться?

  • Файл журнала для каждого пользователя будет сгенерирован каждый час. (Мы можем пропустить ограничение каждого часа в этом потоке), и каждый пользователь имеет уникальный идентификатор «uid».

Что у меня?

  • Я следовал за архитектуру, как используется здесь 'https://github.com/agendor/sample-hapi-rest-api'. Также существуют некоторые дополнительные lib-модули.
  • В настоящее время я использую библиотеку winston (но я могу позволить себе заменить это при необходимости).

Краткое введение потока

  • В настоящее время у меня есть доступ к объекту запроса в функции обработчика только, но я хочу, чтобы регистрировать события в DAO, библиотечные функции тоже (на каждого пользователя). «Uid» доступен мне в функции обработчика в объекте запроса, поскольку я помещаю uid в запрос в промежуточном программном обеспечении аутентификации.

Мое решение (которое не является элегантным)

  • объект запроса прохода (или только UID) для каждой функции и войти (с использованием Winston) событие. Пользовательский транспорт определит, где (в каком файле, на основе uid) поставить журнал. Конечно, это не изящно, так как каждая функция должна иметь параметр uid, чтобы регистрировать событие, что кажется плохим.

Что я хочу от вас?

  • Лучше, элегантный подход, который также масштабируется.

Похожие темы: https://github.com/hapijs/discuss/issues/51

ответ

Смежные вопросы