Реализовать пользовательскую регистрацию в Loopback 4 - PullRequest
0 голосов
/ 03 мая 2019

Можно ли использовать Winston, Pino или Bunyan для входа в Loopback4? Если да, то каковы основные шаги для их реализации в Loopback4?

Я смог заставить Уинстона работать с помощью Express во время просмотра этого урока: https://www.digitalocean.com/community/tutorials/how-to-use-winston-to-log-node-js-applications

Есть модули Loopback для Уинстона и Бруняна. Однако у меня сложилось впечатление (поскольку последние обновления старше 10 месяцев) они должны быть для более старых версий Loopback (поскольку v4 вышла 18 октября)?

Уинстон - https://www.npmjs.com/package/loopback-component-winston

Брунян - https://www.npmjs.com/package/loopback-component-bunyan

1 Ответ

2 голосов
/ 07 мая 2019

Возможно реализовать пользовательскую регистрацию в Loopback 4, и это не должно сильно отличаться от Express. Я экспериментировал с winston и, следовательно, подробно описал бы то же самое, но это также может быть достигнуто при использовании bunyan.

Для начала, вы можете создать папку utils в корне вашего проекта, чтобы сохранить свой собственный регистратор. Приложение, созданное с использованием LB4 CLI, имеет типичную структуру и с папкой utils выглядит следующим образом:

.
|
|-- public
|-- src  
|-- utils
|   |-- logger
|       |-- index.js  <-- custom logger can be defined here.
|-- node_modules
|-- index.js
|--
.

Я использую пример как указано в репозитории github Уинстона для определения регистратора:

// utils/logger/index.js

const winston = require('winston');

const logger = winston.createLogger({
    level: 'info',
    format: winston.format.json(),
    defaultMeta: { service: 'user-service' },
    transports: [
        //
        // - Write to all logs with level `info` and below to `combined.log` 
        // - Write all logs error (and below) to `error.log`.
        //
        new winston.transports.File({ filename: 'error.log', level: 'error' }),
        new winston.transports.File({ filename: 'combined.log' })
    ]
});

module.exports = logger;

Теперь вы можете начать использовать регистратор, «импортировав» его в свое приложение. Для index.js в корневой папке import будет выглядеть так:

// index.js

const logger = require('./utils/logger');

Для регистратора, определенного ранее, следующий оператор зарегистрирует I am logged. в файле с именем combined.log:

logger.info('I am logged.');

Это должно помочь вам начать.

P.S. Я уверен, что ответ (и подход) могут быть улучшены и, следовательно, очень открыты для любых полезных предложений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...