Skip to content

配置说明

LoggerConfig

createLogger 接受以下配置项:

字段类型必填默认值说明
appIdstring-应用唯一标识,用于日志分类存储
appNamestring-应用显示名称
versionstring-应用版本号
apiKeystring-API 密钥,用于身份校验
endpointstringhttp://localhost:5842日志服务器地址
modeSdkModesilentSDK 运行模式
bufferSizenumber100离线缓冲区大小(条数)
flushIntervalnumber5000批量发送间隔(毫秒)

SDK 模式

通过 mode 配置 SDK 的日志输出行为:

模式发送失败状态切换详细信息适用场景
silent静默静默静默生产环境,不干扰用户
verboseconsole.warnconsole.warn静默需要观察连接状态时
debugconsole.warnconsole.logconsole.log开发调试时

silent(默认)

SDK 不会输出任何 console 信息。所有错误静默处理,不影响宿主应用。

ts
const logger = createLogger({
  // ...
  mode: 'silent', // 默认值,可省略
});

verbose

发送失败和连接状态变化时输出警告信息,便于排查连接问题。

ts
const logger = createLogger({
  // ...
  mode: 'verbose',
});
// 发送失败时会输出: [duty-logs] Send failed, moving entries to buffer

debug

输出所有细节信息,包括每条日志入队、buffer 状态、健康检查结果等。

ts
const logger = createLogger({
  // ...
  mode: 'debug',
});
// 输出示例:
// [duty-logs:debug] [INFO] 用户登录
// [duty-logs:debug] Queued entry, queue size: 1
// [duty-logs:debug] Flushed 1 entries successfully

离线缓冲

当日志服务器不可用时,SDK 自动切换到 BUFFERING 模式:

  • 日志存入内存环形缓冲区(FIFO)
  • 缓冲区满时丢弃最旧的日志
  • 每 10 秒发送健康检查
  • 服务器恢复后自动批量发送缓冲区内容
ts
const logger = createLogger({
  // ...
  bufferSize: 200,     // 缓冲 200 条(默认 100)
  flushInterval: 3000, // 每 3 秒批量发送(默认 5000)
});