---
editLink: false
lastUpdated: false
---

[@salesforce/b2c-tooling-sdk](../../../modules.md) / [operations/logs](../index.md) / tailLogs

# Function: tailLogs()

> **tailLogs**(`instance`, `options`): `Promise`\<[`TailLogsResult`](../interfaces/TailLogsResult.md)\>

Defined in: [packages/b2c-tooling-sdk/src/operations/logs/tail.ts:191](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/operations/logs/tail.ts#L191)

Tails log files on a B2C Commerce instance.

Continuously polls for new log content using HTTP Range requests for efficiency.
Calls the onEntry callback for each new log line.

## Parameters

### instance

[`B2CInstance`](../../../instance/classes/B2CInstance.md)

B2C instance to tail logs from

### options

[`TailLogsOptions`](../interfaces/TailLogsOptions.md) = `{}`

Tailing options (filters, callbacks, polling interval)

## Returns

`Promise`\<[`TailLogsResult`](../interfaces/TailLogsResult.md)\>

Tail result with stop() control and done promise

## Example

```typescript
const result = await tailLogs(instance, {
  prefixes: ['error', 'customerror'],
  onEntry: (entry) => console.log(`[${entry.file}] ${entry.message}`),
  onError: (err) => console.error('Tail error:', err),
});

// Stop after 10 seconds
setTimeout(() => result.stop(), 10000);

// Wait for tailing to complete
await result.done;
```
