{
  "slug": "railway-logs-adds-network-flow-log-mode-5ec3082e5411",
  "title": "railway logs adds network flow log mode",
  "tools": [
    "railway"
  ],
  "tags": [
    "agent"
  ],
  "introduced_at": "2026-06-19T10:30:55.000Z",
  "announced_at": "2026-06-19T10:30:55.000Z",
  "effective_at": null,
  "date_basis": "source-publication",
  "status": "unknown",
  "how": {
    "incantation": "When you need to inspect service-level network flows, run `railway logs --network`; add typed filters and `--filter` as needed, and use `--lines` for a finite snapshot or omit it to stream live.",
    "examples": [
      "railway logs --network",
      "railway logs --network --lines <N>",
      "railway logs --network --protocol <PROTOCOL> --filter \"<QUERY>\""
    ],
    "gotchas": [
      "Version: v5.16.0",
      "--network (required): Select network flow logs; log type flags are mutually exclusive.",
      "--protocol <PROTOCOL>: Filter by tcp, udp, icmp, icmpv6, or unknown.",
      "--direction <DIRECTION>: Filter by ingress or egress.",
      "--peer <PEER>: Filter by peer service name or ID, internet, dns, or edge-proxy.",
      "--peer-kind <KIND>: Filter by service, internet, edge_proxy, local_dns, or unknown.",
      "--status <STATUS>: Filter by ok or dropped.",
      "--dropped <BOOL>: Filter by whether packets were dropped.",
      "--port <PORT>: Filter by source or destination port.",
      "--src <IP>: Filter by source IP.",
      "--dst <IP>: Filter by destination IP.",
      "--host <IP>: Filter by source or destination IP.",
      "--drop-cause <CAUSE>: Filter by drop cause.",
      "-f, --filter <QUERY>: Filter using Railway query syntax; network flow fields include @protocol, @direction, @peer, @peer_kind, @status, @drop_cause, @src, @dst, @host, @port, and @dropped.",
      "-n, --lines <N>: Fetch a finite number of log lines; disables streaming.",
      "--json: Output newline-delimited JSON; network rows include timestamp as an alias of captureEnd.",
      "-s, --service <SERVICE>: Select the service by name or ID; defaults to the linked service.",
      "-e, --environment <ENV>: Select the environment by name or ID; defaults to the linked environment.",
      "Prerequisite: Install the Railway CLI; the docs list Homebrew, npm, Scoop, and prebuilt binaries as installation methods.",
      "Prerequisite: Network flow logs are service-level; select the target service with --service or use the linked service.",
      "`--network` is a mutually exclusive log mode.",
      "NDJSON output aliases `timestamp` to `captureEnd`."
    ]
  },
  "why_it_matters": "Inspect network flow logs for a deployment using the Railway CLI.",
  "before": "The release note describes --network as an added mode; before this change, the CLI command had no network-flow log mode.",
  "sources": [
    "https://github.com/railwayapp/cli/releases/tag/v5.16.0",
    "https://github.com/railwayapp/cli/pull/978",
    "https://docs.railway.com/cli/logs",
    "https://docs.railway.com/cli"
  ],
  "rank": 0.98026,
  "judge": {
    "publish": true,
    "judge_model": "codex-cli/gpt-6-luna+typesafe/jev-1.13.0",
    "prompt_version": "extract-v7+enrich-v2+judge-v2x3+jev-publish-v1"
  },
  "review_state": "approved",
  "provenance": {
    "run_id": "wave1b-20261016",
    "verdict_id": "wave1b-20261016:wave1b-20261016-d2c047edec2a79b9-0:gate",
    "evidence_hash": "9ed9e5a55816eb433b62e11832edc0248c6f1a96c0a98119f57800acf725cdd6"
  },
  "review": {
    "draft_hash": "4c8338e2b023eeef641a8c65717d73c4ae5f42630906c9bb52a71df8aae9fd19",
    "reviewer": "publication-gate",
    "reviewed_at": "2026-10-07T00:00:00.000Z",
    "decision": "wave1b-20261016:gate",
    "reason": "3 of 3 judge runs approved with p_yes >= 0.9 (mean 0.98 >= 0.9; 2 needed) and Jev gave 0.77 (>= 0.6 needed)."
  }
}
