Skip to content

Web 项目

适用于普通网页、SPA 应用、Node.js 服务端等可直接发起 HTTP 请求的环境。

导入

ts
import { createLogger } from '@duty/logs-sdk/web';

初始化

ts
const logger = createLogger({
  appId: 'crm-web',
  appName: 'CRM 管理系统',
  version: '2.1.0',
  apiKey: 'your-api-key',
});

记录日志

ts
// 普通信息
logger.info('页面加载完成', { route: '/dashboard', loadTime: 1200 });

// 警告
logger.warn('API 响应慢', { url: '/api/users', duration: 3500 });

// 错误
logger.error('请求失败', {
  url: '/api/orders',
  status: 500,
  message: 'Internal Server Error'
});

携带结构化数据

data 参数接受任意可序列化对象:

ts
logger.error('表单提交失败', {
  formId: 'user-registration',
  fields: { name: 'test', email: 'test@example.com' },
  validationErrors: ['邮箱格式不正确'],
});

数据清洗

SDK 会自动处理 data 字段:

  • 超过 4KB 的数据会被截断
  • base64 编码的内容(如图片)会被移除,替换为大小标记

销毁

在应用卸载或不再需要日志时,调用 destroy() 释放资源:

ts
logger.destroy();

destroy() 会尝试发送队列中剩余的日志,然后停止所有定时器。