Skip to content

RequestLogConfig

Defined in: src/policies/observability/request-log.ts:11

Configuration for the requestLog policy.

optional extractFields: (c) => Record<string, unknown>

Defined in: src/policies/observability/request-log.ts:13

Additional fields to extract from the request

unknown

Record<string, unknown>


optional ipHeaders: string[]

Defined in: src/policies/observability/request-log.ts:17

Ordered list of headers to inspect for the client IP. Default: ["cf-connecting-ip", "x-forwarded-for"].


optional logRequestBody: boolean

Defined in: src/policies/observability/request-log.ts:19

Log request body (opt-in). Default: false.


optional logResponseBody: boolean

Defined in: src/policies/observability/request-log.ts:21

Log response body (opt-in). Default: false.


optional maxBodyLength: number

Defined in: src/policies/observability/request-log.ts:23

Maximum body size in bytes to capture. Default: 8192.


optional redactPaths: string[]

Defined in: src/policies/observability/request-log.ts:25

JSON field paths to redact from logged bodies (e.g., ["password", "*.secret"]).


optional sink: (entry) => void | Promise<void>

Defined in: src/policies/observability/request-log.ts:15

Custom log sink — defaults to console.log with structured JSON

LogEntry

void | Promise<void>


optional skip: (c) => boolean | Promise<boolean>

Defined in: src/policies/types.ts:33

Skip this policy when condition returns true

unknown

boolean | Promise<boolean>

PolicyConfig.skip