Skip to content

feat(logs): write app log entries on the API; Hub log list, entry, clean and settings - #48

Merged
Domantas merged 4 commits into
mainfrom
feat/logs-stage-a
Oct 21, 2026
Merged

Domantas merged 4 commits into
mainfrom
feat/logs-stage-a

Conversation

@Domantas

Copy link
Copy Markdown
Contributor

Logs stage A for the Go SDK.

  • Types regenerated from gateway audit/logging: WriteLogs / WriteLogEntry / WriteLogsResponse (Api), GetLog / GetLogResponse, TenantLogEntryDto.Origin, AWS CloudWatch logging integration request + DTO (Hub). No type removed.
  • New API.Logs.WriteLogs (POST /logs); Hub Logs.GetLogs, GetLog, CleanLogs, GetLogSettings, SaveLogSettings (finding L12). TestLoggingIntegration documented: nothing is delivered until the last test passed (L29).
  • New guide docs/hub/logs.md + README module-guide line.

Tests: go test ./... green — 167 top-level tests (654 incl. subtests), 0 failures; 9 new (norbix/hub/logs_test.go 7, norbix/api/logs_test.go 2), all against a local fake server. go vet ./norbix/... clean, gofmt -l . empty.

Expected version: v2.30.0 (minor; no breaking change).

🤖 Generated with Claude Code

Domantas and others added 4 commits October 21, 2026 21:12
…age A)

Regenerated norbix/api/dtos/dtos.go and norbix/hub/dtos/dtos.go from gateway
audit/logging (7afc82b57) with typegen languages/go/generate.py.

- Api: WriteLogs, WriteLogEntry, WriteLogsResponse (POST /logs).
- Hub: GetLog / GetLogResponse (GET /logs/{Id}); TenantLogEntryDto.Origin;
  AwsCloudWatchLoggingIntegrationRequest / AwsCloudWatchLoggingIntegrationDto.

No type removed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…and settings on the Hub

- API.Logs.WriteLogs: POST /{version}/logs (Logs stage A). 1-100 entries,
  answers {accepted: n}; 429 CM-ERRORS-LOGGING-003 when the project's
  per-minute quota is used up (a *errors.RateLimitError).
- Hub.Logs: GetLogs, GetLog (GET /logs/{Id}, new), CleanLogs, GetLogSettings,
  SaveLogSettings — the Hub log routes the Go SDK did not have (finding L12).
- TestLoggingIntegration doc comment: nothing is delivered to an integration
  until its last test passed (finding L29).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
norbix/hub/logs_test.go: GetLogs, GetLog, CleanLogs, GetLogSettings,
SaveLogSettings (a false reaches the body), TestLoggingIntegration and a
MongoDB integration save from the generated request type.
norbix/api/logs_test.go: WriteLogs body and answer; the 429 quota refusal is a
RateLimitError with the gateway code and the POST is sent once.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e then test integrations

docs/hub/logs.md and a README module-guide line. Says that nothing is
delivered to a logging integration until its last test passed, the WriteLogs
limits and refusals (429 + Retry-After), the 7 Datadog sites, MongoDB and AWS
CloudWatch requests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Domantas
Domantas merged commit 1ca92b9 into main Oct 21, 2026
6 checks passed
@Domantas
Domantas deleted the feat/logs-stage-a branch October 21, 2026 18:19
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 2.30.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant