Возможно реализовать пользовательскую регистрацию в 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. Я уверен, что ответ (и подход) могут быть улучшены и, следовательно, очень открыты для любых полезных предложений.