diff --git a/README.md b/README.md index 15e6b80..5c00e6b 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,34 @@ const logger = pino({ logger.info('hi') ``` +## Custom emojis +When using pino-colada programmatically, you can define custom emojis. This is useful +when you define custom levels and want to provide emojis for them or if you want to +override any default emoji. + +``` +const pino = require('pino') +const logger = pino({ + prettyPrint: { + customEmojis: { + info: '✅', + success: '✅', + fail: '❌' + } + }, + prettifier: require('pino-colada'), + customLevels: { + success: 31, + fail: 32 + } +}) + +logger.info ('hi'); +logger.success ('hi'); +logger.fail ('hi'); +``` + + # Install ```bash npm install pino-colada diff --git a/index.js b/index.js index da9b65f..eecd5fc 100644 --- a/index.js +++ b/index.js @@ -28,7 +28,14 @@ function isPinoLog (log) { module.exports = PinoColada -function PinoColada () { +function PinoColada (opts) { + const pinoInstance = this; + + const { customEmojis } = opts; + if (!!customEmojis) { + emojiLog = Object.assign ({}, emojiLog, customEmojis); + } + return parse function parse (inputData) { @@ -47,19 +54,11 @@ function PinoColada () { if (!obj.level) return inputData + nl if (!obj.message) obj.message = obj.msg - if (typeof obj.level === 'number') convertLogNumber(obj) + if (typeof obj.level === 'number') obj.level = pinoInstance.levels.labels[obj.level] return output(obj) + nl } - function convertLogNumber (obj) { - if (obj.level === 10) obj.level = 'trace' - if (obj.level === 20) obj.level = 'debug' - if (obj.level === 30) obj.level = 'info' - if (obj.level === 40) obj.level = 'warn' - if (obj.level === 50) obj.level = 'error' - if (obj.level === 60) obj.level = 'fatal' - } function output (obj) { var output = [] @@ -128,7 +127,7 @@ function PinoColada () { function formatMessage (obj) { var msg = formatMessageName(obj.message) - var pretty + var pretty = msg if (obj.level === 'error') pretty = chalk.red(msg) if (obj.level === 'trace') pretty = chalk.white(msg) if (obj.level === 'warn') pretty = chalk.magenta(msg) diff --git a/package.json b/package.json index c94fa49..c7b815d 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "@hapi/hapi": "^18.0.0", "hapi-pino": "^6.3.0", "merry": "^4.0.0", + "pino": "^6.9.0", "pino-http": "^4.3.0", "standard": "^14.0.0" },