Skip to content
Elogs
Esc
navigateopen⌘Jpreview
On this page

Interface: ElogsConfig

@eastgold15/elogs


@eastgold15/elogs / ElogsConfig

Interface: ElogsConfig

Defined in: packages/elogs/src/interfaces.ts:217

新版(上游 main)配置 — 所有 createElogs 行为参数集中在 config 字段下。 同时保留 root-level 字段(legacy + 旧测试)以便向后兼容。

Properties

autoRedact?

optional autoRedact?: boolean

Defined in: packages/elogs/src/interfaces.ts:219

自动 redact 敏感信息(headers, body, query string)


contextDepth?

optional contextDepth?: number

Defined in: packages/elogs/src/interfaces.ts:221

上下文树展开深度(默认 1)


customLogFormat?

optional customLogFormat?: string

Defined in: packages/elogs/src/interfaces.ts:223

自定义日志格式模板,支持 token:{now} {level} {duration} {method} {pathname} {status} {message} {ip} {context} {query} {statusText} {requestId} {service} {speed}


disableFileLogging?

optional disableFileLogging?: boolean

Defined in: packages/elogs/src/interfaces.ts:225

禁用文件日志(即使有 logFilePath)


disableInternalLogger?

optional disableInternalLogger?: boolean

Defined in: packages/elogs/src/interfaces.ts:227

禁用内置控制台 logger


disableWebSocketLogging?

optional disableWebSocketLogging?: boolean

Defined in: packages/elogs/src/interfaces.ts:229

禁用 WebSocket 日志


ip?

optional ip?: boolean

Defined in: packages/elogs/src/interfaces.ts:231

在日志中显示 IP(x-forwarded-for / x-real-ip)


logDirMode?

optional logDirMode?: number

Defined in: packages/elogs/src/interfaces.ts:233

目录模式(默认 0o700)


logErrorPayload?

optional logErrorPayload?: boolean

Defined in: packages/elogs/src/interfaces.ts:235

把错误对象的 payload(可能是用户输入)写入 meta,默认 false(防泄露)


logFileMode?

optional logFileMode?: number

Defined in: packages/elogs/src/interfaces.ts:237

文件模式(默认 0o600)


logFilePath?

optional logFilePath?: string

Defined in: packages/elogs/src/interfaces.ts:239

日志文件路径


logFilter?

optional logFilter?: LogFilter

Defined in: packages/elogs/src/interfaces.ts:241

日志级别过滤


logQueryParams?

optional logQueryParams?: boolean

Defined in: packages/elogs/src/interfaces.ts:243

在 pathname 中包含 query string


logRotation?

optional logRotation?: LogRotationConfig

Defined in: packages/elogs/src/interfaces.ts:245

日志轮转


pino?

optional pino?: PinoConfig

Defined in: packages/elogs/src/interfaces.ts:247

Pino 配置


redactKeys?

optional redactKeys?: string[]

Defined in: packages/elogs/src/interfaces.ts:249

自定义 redact key 列表(合并到默认敏感 key)


requestId?

optional requestId?: boolean | RequestIdConfig

Defined in: packages/elogs/src/interfaces.ts:251

request-id 跟踪


service?

optional service?: string

Defined in: packages/elogs/src/interfaces.ts:253

服务名(显示在日志中)


showContextTree?

optional showContextTree?: boolean

Defined in: packages/elogs/src/interfaces.ts:255

显示上下文树(默认 true)


showIp?

optional showIp?: boolean

Defined in: packages/elogs/src/interfaces.ts:257

显示 IP(等价于 ip)


showStartupMessage?

optional showStartupMessage?: boolean

Defined in: packages/elogs/src/interfaces.ts:259

是否显示启动消息


slowThreshold?

optional slowThreshold?: number

Defined in: packages/elogs/src/interfaces.ts:261

慢请求阈值(ms),超过显示慢请求标记


startupMessageFormat?

optional startupMessageFormat?: "simple" | "banner"

Defined in: packages/elogs/src/interfaces.ts:263

启动消息格式


timestamp?

optional timestamp?: string | { format: string; }

Defined in: packages/elogs/src/interfaces.ts:265

时间戳格式或 { format }


transports?

optional transports?: Transport[]

Defined in: packages/elogs/src/interfaces.ts:267

透传 transport 列表(emit 用;transports 也可以在 root,但 emit 只看 config)


transportThrottleMs?

optional transportThrottleMs?: number

Defined in: packages/elogs/src/interfaces.ts:269

Transport 错误节流窗口(ms)


useAsyncLocalStorage?

optional useAsyncLocalStorage?: boolean

Defined in: packages/elogs/src/interfaces.ts:285

启用 AsyncLocalStorage,让 useLogger() 在深调用栈拿得到 logger。

实现细节:在 Elysia 2 的 .request() 钩子内用 loggerStorage.enterWith(...) 设置 scope。这会透传到后续的路由 handler / .afterHandle()(只要 Elysia 自己在它们之间不再额外 als.run())。

限制:

  • Elysia 2 升级后如果在内部多次 als.run(),此机制会失效,useLogger() 退回 NOOP_LOGGER,日志被吞。
  • enterWith 不影响“已在运行的 async 树”,只影响“从此处之后”新发起的 async。

推荐:深调用栈场景优先用 ({ log }) derive(Elysia 自己的 context 机制, 不依赖 ALS);useLogger() 仅在“想拿 logger 但不想改签名”的便利场景使用。


useColors?

optional useColors?: boolean

Defined in: packages/elogs/src/interfaces.ts:287

启用彩色输出(默认 true 仅 TTY)


useTransportsOnly?

optional useTransportsOnly?: boolean

Defined in: packages/elogs/src/interfaces.ts:289

只使用 transports,禁用控制台 + 文件


verySlowThreshold?

optional verySlowThreshold?: number

Defined in: packages/elogs/src/interfaces.ts:291

极慢请求阈值(ms),超过显示更严重标记

Last updated on August 15, 2026

Was this page helpful?