pino-pretty-min
Advanced tools
Comparing version 0.1.0 to 0.2.0
#! /usr/bin/env node | ||
const mri = require('mri') | ||
const prettify = require('./')() | ||
const input = process.stdin | ||
const output = process.stdout | ||
const args = mri(process.argv.slice(2), { default: { t: false } }) | ||
input | ||
.pipe(prettify) | ||
.pipe(prettify(args)) | ||
.pipe(output) |
@@ -0,0 +0,0 @@ const pino = require('pino')({level: 'trace'}) |
24
index.js
@@ -20,6 +20,8 @@ const split = require('split2') | ||
var firstTime = 0 | ||
module.exports = function PinoPrettifierZen () { | ||
return split(parse) | ||
return (args) => split(line => parse(args, line)) | ||
function parse (line) { | ||
function parse (args, line) { | ||
var obj = jsonParse(line) | ||
@@ -32,6 +34,6 @@ if (!obj.value || obj.err || !obj.value.level) return line + '\n' | ||
return formatOutput(obj) | ||
return formatOutput(args, obj) | ||
} | ||
function formatOutput (obj) { | ||
function formatOutput (args, obj) { | ||
const noDefaultMetadata = (val) => !['level', 'time', 'msg', 'pid', 'v', 'message', 'hostname'].includes(val) | ||
@@ -44,6 +46,18 @@ const filterOutMetadata = (obj) => Object.keys(obj).filter(noDefaultMetadata).reduce((a, e) => { | ||
// TODO: Full timestamp vs. time since start | ||
const formatTime = (obj) => ({ | ||
const formatTimeLong = (obj) => ({ | ||
text: '[' + moment(obj.time).format(moment.HTML5_FMT.TIME_SECONDS) + ']', | ||
width: 11 | ||
}) | ||
const pad = (n, s) => `0000000000000${n}`.substr(-s) | ||
const formatTimeSince = (obj) => { | ||
const div = { | ||
text: '[' + pad((firstTime === 0 ? 0 : obj.time - firstTime), 8) + ']', | ||
width: 11 | ||
} | ||
if (firstTime === 0) { | ||
firstTime = obj.time | ||
} | ||
return div | ||
} | ||
const formatTime = (obj) => args.t ? formatTimeSince(obj) : formatTimeLong(obj) | ||
const formatMessage = (obj) => ({ text: obj.message }) | ||
@@ -50,0 +64,0 @@ const formatPropertiesText = (level, obj, parent) => { |
{ | ||
"name": "pino-pretty-min", | ||
"version": "0.1.0", | ||
"version": "0.2.0", | ||
"description": "minimalistic ndjson logger for pino", | ||
@@ -29,4 +29,5 @@ "bin": { | ||
"moment": "^2.20.1", | ||
"mri": "^1.1.0", | ||
"split2": "^2.2.0" | ||
} | ||
} |
@@ -0,1 +1,4 @@ | ||
[![npm version][npm_badge]][npm_link] [![Build Status][travis_badge]](travis_link) | ||
[![js-standard-style][js_standard_badge]][js_standard_link] | ||
# pino-pretty-min 🕉️ | ||
@@ -28,2 +31,10 @@ | ||
- [pino-colada](https://github.com/lrlna/pino-colada) | ||
- [logrus](https://github.com/sirupsen/logrus) | ||
- [logrus](https://github.com/sirupsen/logrus) | ||
[npm_badge]: https://img.shields.io/npm/v/pino-pretty-min.svg?style=flat-square | ||
[npm_link]: https://npmjs.org/package/pino-pretty-min | ||
[js_standard_badge]: https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat-square | ||
[js_standard_link]: https://github.com/feross/standard | ||
[travis_badge]: https://travis-ci.org/unjello/pino-pretty-min.svg?branch=master | ||
[travis_link]: https://travis-ci.org/unjello/pino-pretty-min |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
231436
10
94
39
6
+ Addedmri@^1.1.0
+ Addedmri@1.2.0(transitive)