Add README, fix headline printing.
This commit is contained in:
parent
742d47ba53
commit
982680d972
87
README.md
Normal file
87
README.md
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
# Structured Log Formatter
|
||||||
|
**Terminal utility to pretty-print JSON-strucutred log lines.**
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
`slfmt` is intended to be used to filter logging output from a process. It
|
||||||
|
reads from `stdin` and writes to `stdout`. It expects to see a JSON object on
|
||||||
|
each line of input, and will pretty-print the object to `stdout`. Escape codes
|
||||||
|
in the log lines (`\n` for newlines, etc.) are supported and will be expanded
|
||||||
|
in the output.
|
||||||
|
|
||||||
|
Any lines that are not valid JSON objects will be printed as-is to `stdout`.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./run-server | slfmt
|
||||||
|
```
|
||||||
|
|
||||||
|
Sample Output:
|
||||||
|
|
||||||
|
```
|
||||||
|
---------------------------------------------------------------------------------------
|
||||||
|
scope: "server/rest_api"
|
||||||
|
level: "ERROR"
|
||||||
|
ts:
|
||||||
|
2025-01-03T08:46:35-06:00 (local) 2025-01-03T14:46:35Z (UTC)
|
||||||
|
msg: unhandled exception (DbError)
|
||||||
|
err:
|
||||||
|
ERROR: relation "users" does not exist
|
||||||
|
LINE 1: SELECT id FROM users WHERE id = '43422d65-6874-44ce-b9b3-f8c...
|
||||||
|
^
|
||||||
|
|
||||||
|
stack:
|
||||||
|
/home/username/.local/share/mise/installs/nim/2.2.0/nimble/pkgs2/mummy-0.4.5-cb7f70cd4d6fd3a563e00e664cfbd8cbd3c39b79/mummy.nim(519) workerProc
|
||||||
|
/home/username/.local/share/mise/installs/nim/2.2.0/nimble/pkgs2/mummy-0.4.5-cb7f70cd4d6fd3a563e00e664cfbd8cbd3c39b79/mummy.nim(450) runTask
|
||||||
|
/home/username/.local/share/mise/installs/nim/2.2.0/nimble/pkgs2/mummy-0.4.5-cb7f70cd4d6fd3a563e00e664cfbd8cbd3c39b79/mummy/routers.nim(271) :anonymous
|
||||||
|
/home/username/projects/server/api/src/main/nim/server_api/api.nim(65) :anonymous
|
||||||
|
/home/username/projects/server/api/src/main/nim/server_api/auth.nim(74) extractSession
|
||||||
|
/home/username/projects/fiber-orm-nim/src/fiber_orm.nim(599) createOrUpdateUser
|
||||||
|
/home/username/projects/fiber-orm-nim/src/fiber_orm.nim(384) createOrUpdateRecord
|
||||||
|
/home/username/.local/share/mise/installs/nim/2.2.0/nimble/pkgs2/db_connector-0.1.0-d68319e3785fa937f0465ea915e942b61b6b5442/db_connector/db_postgres.nim(497) getAllRows
|
||||||
|
/home/username/.local/share/mise/installs/nim/2.2.0/nimble/pkgs2/db_connector-0.1.0-d68319e3785fa937f0465ea915e942b61b6b5442/db_connector/db_postgres.nim(174) setupQuery
|
||||||
|
/home/username/.local/share/mise/installs/nim/2.2.0/nimble/pkgs2/db_connector-0.1.0-d68319e3785fa937f0465ea915e942b61b6b5442/db_connector/db_postgres.nim(116) dbError
|
||||||
|
[[reraised from:
|
||||||
|
/home/username/.local/share/mise/installs/nim/2.2.0/nimble/pkgs2/mummy-0.4.5-cb7f70cd4d6fd3a563e00e664cfbd8cbd3c39b79/mummy.nim(519) workerProc
|
||||||
|
/home/username/.local/share/mise/installs/nim/2.2.0/nimble/pkgs2/mummy-0.4.5-cb7f70cd4d6fd3a563e00e664cfbd8cbd3c39b79/mummy.nim(450) runTask
|
||||||
|
/home/username/.local/share/mise/installs/nim/2.2.0/nimble/pkgs2/mummy-0.4.5-cb7f70cd4d6fd3a563e00e664cfbd8cbd3c39b79/mummy/routers.nim(271) :anonymous
|
||||||
|
/home/username/projects/server/api/src/main/nim/server_api/api.nim(65) :anonymous
|
||||||
|
/home/username/projects/server/api/src/main/nim/server_api/auth.nim(74) extractSession
|
||||||
|
/home/username/projects/fiber-orm-nim/src/fiber_orm.nim(727) createOrUpdateUser
|
||||||
|
]]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
---------------------------------------------------------------------------------------
|
||||||
|
scope: "server/rest_api"
|
||||||
|
level: "ERROR"
|
||||||
|
ts:
|
||||||
|
2025-01-03T08:46:35-06:00 (local) 2025-01-03T14:46:35Z (UTC)
|
||||||
|
msg: unhandled exception (DbError)
|
||||||
|
err:
|
||||||
|
ERROR: relation "users" does not exist
|
||||||
|
LINE 1: SELECT id FROM users WHERE id = '43422d65-6874-44ce-b9b3-f8c...
|
||||||
|
^
|
||||||
|
|
||||||
|
stack:
|
||||||
|
/home/username/.local/share/mise/installs/nim/2.2.0/nimble/pkgs2/mummy-0.4.5-cb7f70cd4d6fd3a563e00e664cfbd8cbd3c39b79/mummy.nim(519) workerProc
|
||||||
|
/home/username/.local/share/mise/installs/nim/2.2.0/nimble/pkgs2/mummy-0.4.5-cb7f70cd4d6fd3a563e00e664cfbd8cbd3c39b79/mummy.nim(450) runTask
|
||||||
|
/home/username/.local/share/mise/installs/nim/2.2.0/nimble/pkgs2/mummy-0.4.5-cb7f70cd4d6fd3a563e00e664cfbd8cbd3c39b79/mummy/routers.nim(271) :anonymous
|
||||||
|
/home/username/projects/server/api/src/main/nim/server_api/api.nim(65) :anonymous
|
||||||
|
/home/username/projects/server/api/src/main/nim/server_api/auth.nim(74) extractSession
|
||||||
|
/home/username/projects/fiber-orm-nim/src/fiber_orm.nim(599) createOrUpdateUser
|
||||||
|
/home/username/projects/fiber-orm-nim/src/fiber_orm.nim(384) createOrUpdateRecord
|
||||||
|
/home/username/.local/share/mise/installs/nim/2.2.0/nimble/pkgs2/db_connector-0.1.0-d68319e3785fa937f0465ea915e942b61b6b5442/db_connector/db_postgres.nim(497) getAllRows
|
||||||
|
/home/username/.local/share/mise/installs/nim/2.2.0/nimble/pkgs2/db_connector-0.1.0-d68319e3785fa937f0465ea915e942b61b6b5442/db_connector/db_postgres.nim(174) setupQuery
|
||||||
|
/home/username/.local/share/mise/installs/nim/2.2.0/nimble/pkgs2/db_connector-0.1.0-d68319e3785fa937f0465ea915e942b61b6b5442/db_connector/db_postgres.nim(116) dbError
|
||||||
|
[[reraised from:
|
||||||
|
/home/username/.local/share/mise/installs/nim/2.2.0/nimble/pkgs2/mummy-0.4.5-cb7f70cd4d6fd3a563e00e664cfbd8cbd3c39b79/mummy.nim(519) workerProc
|
||||||
|
/home/username/.local/share/mise/installs/nim/2.2.0/nimble/pkgs2/mummy-0.4.5-cb7f70cd4d6fd3a563e00e664cfbd8cbd3c39b79/mummy.nim(450) runTask
|
||||||
|
/home/username/.local/share/mise/installs/nim/2.2.0/nimble/pkgs2/mummy-0.4.5-cb7f70cd4d6fd3a563e00e664cfbd8cbd3c39b79/mummy/routers.nim(271) :anonymous
|
||||||
|
/home/username/projects/server/api/src/main/nim/server_api/api.nim(65) :anonymous
|
||||||
|
/home/username/projects/server/api/src/main/nim/server_api/auth.nim(74) extractSession
|
||||||
|
/home/username/projects/fiber-orm-nim/src/fiber_orm.nim(727) createOrUpdateUser
|
||||||
|
]]
|
||||||
|
|
||||||
|
```
|
@ -1,6 +1,6 @@
|
|||||||
# Package
|
# Package
|
||||||
|
|
||||||
version = "0.1.0"
|
version = "0.1.1"
|
||||||
author = "Jonathan Bernard"
|
author = "Jonathan Bernard"
|
||||||
description = "Small utility to pretty-print strucutured logs."
|
description = "Small utility to pretty-print strucutured logs."
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
|
@ -53,7 +53,7 @@ proc prettyPrintFormat(logLine: string): string =
|
|||||||
try:
|
try:
|
||||||
var logJson = parseJson(logLine)
|
var logJson = parseJson(logLine)
|
||||||
|
|
||||||
result = '-'.repeat(terminalWidth())
|
result = '-'.repeat(terminalWidth()) & "\n"
|
||||||
|
|
||||||
# Print the known fields in order first
|
# Print the known fields in order first
|
||||||
for f in fieldDisplayOrder:
|
for f in fieldDisplayOrder:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user