bellman
Аккуратный консольныый логгер.
npm i bellman
Public methods
reg
- Служит для регистрации файлов, в которух будут вызванны логирующие методы. Нужен для определения минимальной ширины отводмой под столбец :caller
.
Default output
import Logger from 'bellman'
let log = new Logger()
.reg()
.info('info message')
.debug('debug message')
.warn('warning message')
.error('error: %s', new Error())
User output
var Logger = require('bellman')
var userConfig = {
timeTmp: 'HH:mm',
lineTmp: ':level :time :caller :message',
colorize: true,
callerColor: 'yellow.bold',
levelMap: {
'debug': 'blue',
'info': 'green',
'panic': 'red'
},
levelMin: 'debug',
isFullStack: true
}
var logger = new Logger(userConfig)
.reg()
.info('info line')
.debug('debug line')
.panic('panic line: %s', new Error())
Events
log
- в качестве агрумента события используется объет, содержащий:
time
- Отформатированную временную меткуlevel
- Имя уровня логирования, соответствует имени логирующего методаcaller
- Имя файла и номер строки на которой был вызван логирующий методmessage
- Отфотматированное сообщениеargs
- Аргументы переданные в логирующий метод, из которых формируется message
Config
timeTmp
- Задает формат :time
части. Для форматирования используется библиотека moment.lineTmp
- Задает формат строки логируемого сообщения.
:time
- Таймштамп, формат задается параметром timeTmp
.:level
- Соотвествует имени вызванного метода логгирования.:caller
- Имя файла и номер строки на которой был вызван логирующий метод.:message
- Отформатированное сообщение, составленное из переданных аргументов. Форматирование осуществляется функцией util.format.
colorize
- Явно задает использовать окрашивание или нет. Для окрашивания используется библиотека chalk.callerColor
- Задает цвет окрашивания :caller
части.levelMap
- Задает имена, порядок приоритетов и цвета окрашивания логирующих методов.levelMin
- Задает имя минимально отображаемого приоритета.isFullStack
- Задает форматирование стэка ошибок.
- Из неполного стэка удаляются файлы расположенные вне дирректории проекта и содержащие в пути папку
node_modules
. Корень дирректории проекта соответствует __dirname
корневого модуля. - Если указано выводить полный стэк ошибок, то никаких модификаций не вносится. Параметр может быть так же задани при момощи переменных окружения
STACK=full
и FULLSTACK=true