btp-cloud-logginglisted
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