Logmap
Filter json streams/logging output using JSONSelect and format the output
Install / Use
/learn @heapwolf/LogmapREADME
SYNOPSIS
Filter & format new-line-deleimted json streams using simple object-path selectors.
MOTIVATION
This is not a json transform tool. It's just a simple filter & format tool.
INSTALL
npm install logmap -g
USAGE
Given some program is outputting newline-delimted-json...
{ "date": "2015-06-25T01:14:21.196+0600", "level": "info", "value": { "msg": "Lorem ipsum dolor sit amet.", "sources": ["C++", "JS"] } }
{ "date": "2015-04-25T01:32:21.196+0600", "level": "info", "value": { "msg": "Mollit anim id est laborum.", "srouces": ["C++", "JS"] } }
Pipe it to the following the reduce the output using simple object-path selectors...
cat ./sample.json | logmap date level value.msg
["2015-06-25T01:14:21.196+0600", "info", "Lorem ipsum dolor sit amet."]
["2015-04-25T01:32:21.196+0600", "info", "Mollit anim id est laborum."]
ARRAYS & ACCESSING VALUES
You can also access items in an array like this foo.bar.1.thing. In fact, you can use any
of the object selectors found here.
FORMATTING OUTPUT
sprintf-ish things like %s, %80s, %d and %j.
cat ./sample.json | logmap date level value.msg -f "[%moment(DD HH:mm)]: (%s) %s"
[14 21:32]: (info) Lorem ipsum dolor sit amet.
[24 21:32]: (info) Mollit anim id est laborum.
COLOR
%chalk(inverse.red), invokes chalk. there are a few
shortcuts like %red, %blue, etc. use %chalk(...) for more complicated things.
DATES
Anything inside the %moment(...) like %moment(MM YY d:mm) just invokes moment
EXPRESSIONS
Sometimes you dont want to putput a record based on some simple boolean logic, for that
you can use quoted expressions with >, <, >=, <=, ==, !=.
cat ./sample.json | log.name log.message "log.priority > 2"
cat ./books.json | log.name "title == \"Programming\""
OPTIONS
If you write a long query, you can save it so you don't have to write it again.
SAVE
cat ./sample.json | logmap user.name.last, user.name.first, user.age -f "%s, %s (%s)" -s myQuery
LOAD
cat ./sample.json | logmap -l myQuery
DELETE
logmap -d myQuery
Related Skills
node-connect
342.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
342.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.7kCommit, push, and open a PR
