← ClaudeAtlas

btp-cloud-logginglisted

SAP BTP Cloud Logging — OpenSearch-based centralized logging with structured logs, correlation IDs, Kibana dashboards, and retention management.
williamcorrea23/sap-router-skill · ★ 0 · DevOps & Infrastructure · score 69
Install: claude install-skill williamcorrea23/sap-router-skill
# SAP BTP Cloud Logging Centralized observability on SAP BTP powered by OpenSearch + Kibana dashboards. ## Prerequisites - CF CLI logged in to target space - An app deployed on SAP BTP (CAP/Node.js/Python/Java) - Cloud Logging entitlement assigned to the subaccount (Lite/Standard/Enterprise) ## 1. Create Service Instance and Bind ```bash cf create-service cloud-logging standard my-logging cf bind-service my-app my-logging cf restage my-app ``` Verify the binding appears in `VCAP_SERVICES`: ```bash cf env my-app | grep -A 20 cloud-logging ``` ## 2. Structured Logging (CAP / Node.js) ```javascript const cds = require('@sap/cds') const LOG = cds.log('procurement') LOG.info('Order created', { orderId: 'ORD123', userId: 'USER1', duration: 245 }) LOG.error('BAPI call failed', new Error('Connection timeout')) ``` Log entries appear in OpenSearch with fields: `correlation_id`, `component`, `level`, `message`, `custom_fields`. ## 3. OpenTelemetry Tracing ```javascript const { trace } = require('@opentelemetry/api') const tracer = trace.getTracer('procurement-service') async function processOrder(orderId) { const span = tracer.startSpan('processOrder') span.setAttribute('order.id', orderId) try { await callBapi(orderId) span.setStatus({ code: trace.SpanStatusCode.OK }) } catch (e) { span.setStatus({ code: trace.SpanStatusCode.ERROR, message: e.message }) span.recordException(e) } finally { span.end() } } ``` ## 4. Python Integration ```py