{"ref":"artifact:saptools-cf-logs","page":"/artifacts/saptools-cf-logs","json":"/artifacts/saptools-cf-logs.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"saptools-cf-logs","name":"@saptools/cf-logs","artifact_type":"cli","ecosystem":"btp","domain":"operations-and-runtime","origin_ring":"independent","description":{"one_line":"A command line and typed [Node.js](external:nodejs) library that fetches and streams the logs of one Cloud Foundry app and parses them into structured rows.","short":"Log fetcher and parser for one Cloud Foundry app","what_it_solves":"Reading a [Cloud Foundry](artifact:btp-cloud-foundry-runtime) app's logs from shell scripts, VS Code extensions, Node services or test runners means parsing the raw text `cf logs` prints. This package wraps `cf logs --recent` and `cf logs <app>` for one app at a time and turns plain-text, JSON and multiline output into rows with a level, the router's method, status, latency and tenant, and two separate request identifiers; a compact mode shortens rows and keeps a reference to the full row saved under `~/.saptools`. The `vcapRequestId` on a row is the field its README uses to find the matching trace with [@saptools/cf-otel](artifact:saptools-cf-otel). It reads only what the official `cf` CLI returns, so a snapshot reaches back as far as Cloud Foundry's `--recent` window, and it redacts nothing it prints or saves."},"links":{"npm":"https://www.npmjs.com/package/@saptools/cf-logs","repo":"https://github.com/dongitran/saptools","docs":"https://github.com/dongitran/saptools/blob/main/packages/cf-logs/README.md"},"identity":{"author":"dongitran","license":"MIT"},"compat":{"deployment":["cf"]},"type_properties":{"distribution":{"value":["npm"],"sources":[{"url":"https://github.com/dongitran/saptools","title":"@saptools/cf-logs — README","checked":"2026-10-18","quote":"npm install -g @saptools/cf-logs"}]}},"provides":["capability:logging"],"requires":[{"ref":"external:nodejs","for":"The command line and its API run on Node.js 20 or later, beside the official `cf` CLI on the path.","sources":[{"url":"https://github.com/dongitran/saptools/blob/main/packages/cf-logs/README.md","title":"dongitran/saptools — packages/cf-logs/README.md","checked":"2026-10-15","quote":"Requires **Node.js >= 20** and the official **`cf` CLI** on `PATH`."}]}],"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-10-15"},"maintainers":["actor:dong-tran"],"contributors":["actor:dong-tran"],"drafted_with_ai":true},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"good","evidence":"2 months since release"},{"label":"Continuity","tier":"fair","evidence":"2 contributors, 1 publisher"},{"label":"Repository","tier":"good","evidence":"pushed 2026-09, not archived"}],"compatibility":[{"label":"Declared for","tier":"unknown","evidence":"no BTP release lines in the atlas"},{"label":"Survived majors","tier":"unknown","evidence":"no BTP release lines in the atlas"},{"label":"Maintainer's CI","tier":"good","evidence":"CodeQL Security Scan green, 2026-09-18"}],"practice":[{"label":"Tests","tier":"good","evidence":"679 test files"},{"label":"Docs","tier":"good","evidence":"docs site, README 14 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":6,"unit":"installs/week"},{"value":3,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","latest_version":"0.8.1","majors":{"0.1":{"version":"0.1.0","date":"2026-05-08"},"0.2":{"version":"0.2.0","date":"2026-06-25"},"0.3":{"version":"0.3.0","date":"2026-06-25"},"0.4":{"version":"0.4.0","date":"2026-06-25"},"0.5":{"version":"0.5.0","date":"2026-06-25"},"0.6":{"version":"0.6.0","date":"2026-06-26"},"0.7":{"version":"0.7.0","date":"2026-09-02"},"0.8":{"version":"0.8.0","date":"2026-09-04"}},"license":"MIT","first_release":"2026-05-08","last_release":"2026-09-04","releases":17,"cadence_days":1,"maintainers":1,"repository":"git+https://github.com/dongitran/saptools.git","repository_directory":"packages/cf-logs","peer_cds":null,"dependencies":1,"node_engine":">=20.0.0","test_script":false,"types":true,"downloads_weekly":6,"downloads_monthly":70,"stars":3,"forks":0,"open_issues":1,"archived":false,"pushed_at":"2026-09-18","license_spdx":null,"org_owned":false,"default_branch":"main","created_at":"2026-04-03T14:04:40Z","open_prs":1,"tree_truncated":false,"test_files":679,"workflows":33,"other_ci":false,"readme_bytes":14655,"docs_files":0,"changelog":false,"license_file":false,"dts_files":2,"first_commit":"2026-05-07","last_commit":"2026-09-04","commits":25,"contributors":2,"ci_status":"success","ci_run_at":"2026-09-18","ci_workflow":"CodeQL Security Scan","ci_event":"push","readme_path":"packages/cf-logs/README.md","readme_sha":"db38c4835cbb5035dd98405d2eb4cf77cf15084b","months_since_release":2,"dormant":false,"repo_read":"2026-10-26"},"release_notes":{"license":"MIT","quotable":true,"versions":[{"version":"0.8.1","date":"2026-09-04"},{"version":"0.8.0","date":"2026-09-04"},{"version":"0.7.0","date":"2026-09-02"},{"version":"0.6.2","date":"2026-06-30"},{"version":"0.6.1","date":"2026-06-29"},{"version":"0.6.0","date":"2026-06-26"},{"version":"0.5.1","date":"2026-06-26"},{"version":"0.5.0","date":"2026-06-25"},{"version":"0.4.0","date":"2026-06-25"},{"version":"0.3.0","date":"2026-06-25"},{"version":"0.2.2","date":"2026-06-25"},{"version":"0.2.1","date":"2026-06-25"},{"version":"0.2.0","date":"2026-06-25"},{"version":"0.1.3","date":"2026-05-09"},{"version":"0.1.2","date":"2026-05-09"},{"version":"0.1.1","date":"2026-05-08"},{"version":"0.1.0","date":"2026-05-08"}],"crawled_at":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:dong-tran","name":"Đông Trần","json":"/actors/dong-tran.json"}],"contributors":[{"ref":"actor:dong-tran","name":"Đông Trần","json":"/actors/dong-tran.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[{"ref":"artifact:saptools-cf-tail","name":"@saptools/cf-tail","json":"/artifacts/saptools-cf-tail.json"}],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}