Interface: ElogsConfig
@eastgold15/elogs / ElogsConfig
Interface: ElogsConfig
Defined in: packages/elogs/src/interfaces.ts:217
新版(上游 main)配置 — 所有 createElogs 行为参数集中在 config 字段下。
同时保留 root-level 字段(legacy + 旧测试)以便向后兼容。
Properties
autoRedact?
optionalautoRedact?:boolean
Defined in: packages/elogs/src/interfaces.ts:219
自动 redact 敏感信息(headers, body, query string)
contextDepth?
optionalcontextDepth?:number
Defined in: packages/elogs/src/interfaces.ts:221
上下文树展开深度(默认 1)
customLogFormat?
optionalcustomLogFormat?: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?
optionaldisableFileLogging?:boolean
Defined in: packages/elogs/src/interfaces.ts:225
禁用文件日志(即使有 logFilePath)
disableInternalLogger?
optionaldisableInternalLogger?:boolean
Defined in: packages/elogs/src/interfaces.ts:227
禁用内置控制台 logger
disableWebSocketLogging?
optionaldisableWebSocketLogging?:boolean
Defined in: packages/elogs/src/interfaces.ts:229
禁用 WebSocket 日志
ip?
optionalip?:boolean
Defined in: packages/elogs/src/interfaces.ts:231
在日志中显示 IP(x-forwarded-for / x-real-ip)
logDirMode?
optionallogDirMode?:number
Defined in: packages/elogs/src/interfaces.ts:233
目录模式(默认 0o700)
logErrorPayload?
optionallogErrorPayload?:boolean
Defined in: packages/elogs/src/interfaces.ts:235
把错误对象的 payload(可能是用户输入)写入 meta,默认 false(防泄露)
logFileMode?
optionallogFileMode?:number
Defined in: packages/elogs/src/interfaces.ts:237
文件模式(默认 0o600)
logFilePath?
optionallogFilePath?:string
Defined in: packages/elogs/src/interfaces.ts:239
日志文件路径
logFilter?
optionallogFilter?:LogFilter
Defined in: packages/elogs/src/interfaces.ts:241
日志级别过滤
logQueryParams?
optionallogQueryParams?:boolean
Defined in: packages/elogs/src/interfaces.ts:243
在 pathname 中包含 query string
logRotation?
optionallogRotation?:LogRotationConfig
Defined in: packages/elogs/src/interfaces.ts:245
日志轮转
pino?
optionalpino?:PinoConfig
Defined in: packages/elogs/src/interfaces.ts:247
Pino 配置
redactKeys?
optionalredactKeys?:string[]
Defined in: packages/elogs/src/interfaces.ts:249
自定义 redact key 列表(合并到默认敏感 key)
requestId?
optionalrequestId?:boolean|RequestIdConfig
Defined in: packages/elogs/src/interfaces.ts:251
request-id 跟踪
service?
optionalservice?:string
Defined in: packages/elogs/src/interfaces.ts:253
服务名(显示在日志中)
showContextTree?
optionalshowContextTree?:boolean
Defined in: packages/elogs/src/interfaces.ts:255
显示上下文树(默认 true)
showIp?
optionalshowIp?:boolean
Defined in: packages/elogs/src/interfaces.ts:257
显示 IP(等价于 ip)
showStartupMessage?
optionalshowStartupMessage?:boolean
Defined in: packages/elogs/src/interfaces.ts:259
是否显示启动消息
slowThreshold?
optionalslowThreshold?:number
Defined in: packages/elogs/src/interfaces.ts:261
慢请求阈值(ms),超过显示慢请求标记
startupMessageFormat?
optionalstartupMessageFormat?:"simple"|"banner"
Defined in: packages/elogs/src/interfaces.ts:263
启动消息格式
timestamp?
optionaltimestamp?:string| {format:string; }
Defined in: packages/elogs/src/interfaces.ts:265
时间戳格式或 { format }
transports?
optionaltransports?:Transport[]
Defined in: packages/elogs/src/interfaces.ts:267
透传 transport 列表(emit 用;transports 也可以在 root,但 emit 只看 config)
transportThrottleMs?
optionaltransportThrottleMs?:number
Defined in: packages/elogs/src/interfaces.ts:269
Transport 错误节流窗口(ms)
useAsyncLocalStorage?
optionaluseAsyncLocalStorage?: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?
optionaluseColors?:boolean
Defined in: packages/elogs/src/interfaces.ts:287
启用彩色输出(默认 true 仅 TTY)
useTransportsOnly?
optionaluseTransportsOnly?:boolean
Defined in: packages/elogs/src/interfaces.ts:289
只使用 transports,禁用控制台 + 文件
verySlowThreshold?
optionalverySlowThreshold?:number
Defined in: packages/elogs/src/interfaces.ts:291
极慢请求阈值(ms),超过显示更严重标记