pino-grove
v0.0.7
Published
Lightweight pino log prettier
Readme
pino-grove
Lightweight pino log prettier
Usage
CLI
node index.js | pino-groveCustomize formatting
You customize formatting programatically
// log-pretty.js
import { runPinoGrove } from 'pino-grove';
runPinoGrove({
configs: [
{
prefix: {
// override default log prefix formatting
overide: ['level', 'time', 'time-delta'], // this match the default format
},
},
{
// customize log header
prefix: {
append: ['trace_id'], // append elements to the prefix format, this should match keys of custom `formatters` or built-in formatters
formatters: {
trace_id: (logObj, { pc }) => {
if (typeof logObj['trace_id'] === 'string') {
return pc.cyan(logObj['trace_id']); // pc from library 'picocolors'
}
},
},
},
},
],
});node index.js | node log-pretty.jsExpress
// index.js
// ...
import { addLogger } from 'pino-grove/express';
//...
const logger = pino();
const app = express();
app.use(addLogger(logger)); // add logger as express middleware
//...// log-prettier.js
import { runPinoGrove } from 'pino-grove';
import { expressConfig } from 'pino-grove/express'; // format request metadata
runPinoGrove({
configs: [expressConfig],
});node index.js | node log-prettier.js