{"id":13582348,"url":"https://github.com/koenbollen/jl","last_synced_at":"2025-04-06T14:30:49.409Z","repository":{"id":46179009,"uuid":"107140250","full_name":"koenbollen/jl","owner":"koenbollen","description":"jl — JSON Logs, a development tool for working with structured JSON logging.","archived":false,"fork":false,"pushed_at":"2024-04-05T10:55:04.000Z","size":115,"stargazers_count":242,"open_issues_count":0,"forks_count":11,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-11-05T22:41:03.665Z","etag":null,"topics":["cli","json","json-logs","logging","logs","structured-logging"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/koenbollen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-10-16T14:38:27.000Z","updated_at":"2024-10-04T09:35:05.000Z","dependencies_parsed_at":"2024-06-20T17:16:45.168Z","dependency_job_id":"896489ca-0a4b-4fe5-b65d-bf31e58dead1","html_url":"https://github.com/koenbollen/jl","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koenbollen%2Fjl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koenbollen%2Fjl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koenbollen%2Fjl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koenbollen%2Fjl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/koenbollen","download_url":"https://codeload.github.com/koenbollen/jl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247495704,"owners_count":20948098,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","json","json-logs","logging","logs","structured-logging"],"created_at":"2024-08-01T15:02:37.530Z","updated_at":"2025-04-06T14:30:49.079Z","avatar_url":"https://github.com/koenbollen.png","language":"Go","readme":"# ![jl — JSON Logs](.github/logo.png)\n\n[![Go Report Card](https://goreportcard.com/badge/github.com/koenbollen/jl)](https://goreportcard.com/report/github.com/koenbollen/jl)\n\n**`jl` is a development tool for working with structured JSON logging.**\n\nModern applications quite often use structured logging instead of simple log\nmessages. This is preferable for computer systems but not for humans. `jl` will\nhelp development by translating structured message into old-fashioned log lines.\n\n## Examples\n\nA code snippets says more than a thousand words:\n\n    $ myprogram\n    {\"message\": \"Hello, world!!\", \"severity\": \"info\"}\n    {\"message\": \"skipping file\", \"severity\": \"warn\", \"file\": \"empty.txt\"}\n\n    $ myprogram | jl\n       INFO: Hello, world!!\n    WARNING: skipping file [file=empty.txt]\n\n([more examples](https://github.com/koenbollen/jl/tree/master/examples))\n\n## Installation\n\n#### macOS:\n\n```bash\n$ brew install koenbollen/public/jl\n$ echo '{\"msg\": \"It works!\"}' | jl\nIt works!\n```\n\n#### Linux:\n\n```bash\n$ curl -LO https://github.com/koenbollen/jl/releases/download/v1.4.0/jl_linux_amd64\n$ sudo install jl_linux_amd64 /usr/bin/jl \u0026\u0026 rm jl_linux_amd64\n$ echo '{\"msg\": \"It works!\"}' | jl\nIt works!\n```\n\n#### Others:\n\nAlternatively you can fetch a binary from the\n[latest release](https://github.com/koenbollen/jl/releases) or install the\nlatest development version from source: `go install github.com/koenbollen/jl@latest` (requires Go 1.17+).\n\n## Usage\n\n```\nUsage:\n  jl [options] [FILE...]\n\nOptions:\n  -h, --help    Show this screen.\n  --version     Show version.\n\nOutput Options:\n  --color           Force colorized output\n  --no-color        Don't colorize output\n  --skip-prefix     Skip printing truncated bytes before the JSON\n  --skip-suffix     Skip printing truncated bytes after the JSON\n\nFormatting Options:\n  --skip-fields     Don't output misc json keys as fields\n  --max-field-length \u003cint\u003e Any field, exceeding the given length (including field name) will be ommitted from output. Use 0 to remove the length limit [default: 30]\n  --include-fields \u003cfields\u003e, -f \u003cfields\u003e Always include these json keys as fields, no matter the length (comma separated list)\n  --exclude-fields \u003cfields\u003e Always exclude these json keys (comma separated list)\n\nYou can add any option to the JL_OPTS environment variable, ex:\n  export JL_OPTS=\"--no-color\"\n```\n\n## Compatibility\n\n`jl` tries to dynamically parse the lines to support as many well\nknown formats as possible.\n\nIs `jl` not compatible with your structured logging? Please let me\nknow by [creating an issue](https://github.com/koenbollen/jl/issues/new).\n","funding_links":[],"categories":["Go","\u003ca name=\"data\"\u003e\u003c/a\u003edata"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoenbollen%2Fjl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkoenbollen%2Fjl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoenbollen%2Fjl/lists"}