pretty-json-log
v1.5.0
Published
Convert JSON log lines into simple pretty colored log output
Downloads
1,052
Readme
Pretty Json Log (PJL)
Convert JSON log lines into simple pretty colored log output
Converts
{"pid":0,"time":"2019-11-03T00:48:55.623Z","hostname":"","level":30,"msg":"HTTPGet","v":0,"name":"cogview","firstChunk":0,"lastChunk":0,"chunkCount":1,"bytes":32768,"fetchRange":"bytes=0-32768"}
{"pid":0,"time":"2019-11-03T00:48:55.677Z","hostname":"","level":30,"msg":"HTTPGet","v":0,"name":"cogview","firstChunk":94,"lastChunk":95,"chunkCount":1,"bytes":32768,"fetchRange":"bytes=3080192-3145728"}
into
Install
npm i -g pretty-json-log
cat <log-file> | pjl
Logs can be filtered using --level
cat <log-file> | pjl --level 20
OpenTelemetry Log options
Do not output Resources
cat <log-file> | pjl --ignore-resources
Basic log type
To be pretty printable the basic json line needs to have:
Either:
- A PinoJS log message
/** Base log object every log object should have at minimum these three keys */
export interface LogMessage extends Record<string, any> {
/** Log level */
level: number;
/** Time stamp either a ISO8601 string, timestamp number in ms or a Date */
time: number | string | Date;
/** Log message */
msg: string;
}
- A OpenTelemetry Log Message
export interface LogMessageOpenTelemetry {
/** Timestamp in nanoseconds if a string, or ms if a number */
Timestamp: number | string
/** Message body */
Body?: unknown;
Resource?: Record<string, unknown>;
Attributes?: Record<string, unknown>;
}