Appearance
配置说明
LoggerConfig
createLogger 接受以下配置项:
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
appId | string | 是 | - | 应用唯一标识,用于日志分类存储 |
appName | string | 是 | - | 应用显示名称 |
version | string | 是 | - | 应用版本号 |
apiKey | string | 是 | - | API 密钥,用于身份校验 |
endpoint | string | 否 | http://localhost:5842 | 日志服务器地址 |
mode | SdkMode | 否 | silent | SDK 运行模式 |
bufferSize | number | 否 | 100 | 离线缓冲区大小(条数) |
flushInterval | number | 否 | 5000 | 批量发送间隔(毫秒) |
SDK 模式
通过 mode 配置 SDK 的日志输出行为:
| 模式 | 发送失败 | 状态切换 | 详细信息 | 适用场景 |
|---|---|---|---|---|
silent | 静默 | 静默 | 静默 | 生产环境,不干扰用户 |
verbose | console.warn | console.warn | 静默 | 需要观察连接状态时 |
debug | console.warn | console.log | console.log | 开发调试时 |
silent(默认)
SDK 不会输出任何 console 信息。所有错误静默处理,不影响宿主应用。
ts
const logger = createLogger({
// ...
mode: 'silent', // 默认值,可省略
});verbose
发送失败和连接状态变化时输出警告信息,便于排查连接问题。
ts
const logger = createLogger({
// ...
mode: 'verbose',
});
// 发送失败时会输出: [duty-logs] Send failed, moving entries to bufferdebug
输出所有细节信息,包括每条日志入队、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)
});