Only work with loggerage verson >=2.0
loggerage-promisify is a helper for promisify methods of loggerage package
$ npm install --save loggerage-promisify
or
$ yarn add loggerage-promisify
const { Loggerage } = require("loggerage");
const promisify = require('loggerage-promisify')
const logger = promisify(new Loggerage("MY-APP"));
logger.debug("Hello world!") // is a promise now!
.then(() => {
return logger.getLog();
})
.then((log) => {
// handle log!
})
.catch(handleError);Or, if you want promisify only the actual async method, you can specify:
const { Loggerage } = require("loggerage");
const promisify = require('loggerage-promisify')
const logger = promisify(new Loggerage("MY-APP"), { onlyAsync: true });
logger.debug("Hello world!"); // is sync and NOT is a promise
logger.debugAsync("Hello again world!") // is async and promise!
.then(() => {
return logger.getLog();
})
.then((log) => {
// handle log!
})
.catch(handleError);When you don't specify the onlyAsync property to true, the methods with 'Async' suffix are promisificated as you expect, like debugAsync, infoAsync, and synchronous methods like info, debug, getLog, etc. are matched to the previous asynchronous methods. For this reason it will be the same to call debug as to debugAsync, etc.
When you (yes) specify the onlyAsync property to true, only the methods with 'Async' suffix are promisificated, like debugAsync, infoAsync, etc.
$ npm install && npm testor
$ yarn install && yarn run test