Notify President Madagascar

    coa-ali-sls
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.3 • Public • Published

    coa-ali-sls

    GitHub license npm version npm downloads PRs Welcome

    轻量的阿里云日志服务 SDK for Node.js

    来源于一个实际生产项目,将用到的 API 和业务解耦后封装成此库。

    后续会根据实际使用情况优化和扩充新的服务。如果急需用到其他接口,可以直接使用阿里云官方 SDK aliyun-sdk/sls 或查看阿里云官方 帮助文档

    特征

    • 覆盖了绝大多数使用场景
    • 相对于官方的 SDK,无任何第三方依赖,更轻量简洁
    • 统一了异步表现形式,全部返回 Promise
    • 内置类型引用,无需额外查看文档,开箱即用,IDE 友好

    快速开始

    安装

    yarn add coa-ali-sls

    基本用法

    import { dayjs } from 'coa-helper'
    import { AliSlsService } from 'coa-ali-sls'
    
    // SLS配置
    const config = {
      endpoint: 'cn-shanghai-intranet.log.aliyuncs.com',
      project: 'project-name',
      accessKeyId: 'LTAI4XXXXXXXXXXXXXqTgH',
      accessKeySecret: 'Eg02rdV23XXXXXXXXXXXXXXXXXwgw8Pk',
    }
    
    // 创建service实例
    const service = new AliSlsService(config)
    
    // 定义查询的开始时间和结束时间
    const from = dayjs('2020-01-01')
    const to = dayjs('2020-01-02')
    
    // 查询指定 Project 下某个 Logstore 中的日志数据
    service.getLogs('project-name', from, to)
    
    // 查询指定 Project 下某个 Logstore 中日志的分布情况
    service.getHistograms('project-name', from, to)

    条件查询

    可以使用 AliSlsQuery 构造查询条件进行查询

    import { dayjs } from 'coa-helper'
    import { AliSlsQuery, AliSlsService } from 'coa-ali-sls'
    
    // 创建service实例
    const service = new AliSlsService({
      /* ... */
    })
    
    // 定义查询的开始时间和结束时间
    const from = dayjs('2020-01-01'),
      to = dayjs('2020-01-02')
    
    // 定义查询条件(全部用法如下)
    const query = new AliSlsQuery()
      .dateFormat('__time__', '%m-%d %H:%i:%s', 'time')
      .timeSeries('__time__', 'time', `5m`)
      .column('userId')
      .column('sceneId', 'sceneId')
      .count('*', 'pv')
      .approxDistinct('userId', 'uv')
      .ne('event', 'device-visit')
      .eq('from', 'wxa')
      .notIn('path', ['', 'null'])
      .notLike(field, likes)
      .limit(2000)
      .groupBy('sceneId')
      .orderBy('pv desc')
      .toQuery()
    
    // 按照查询条件查询指定 Project 下某个 Logstore 中的日志数据
    await service.getLogs('project-name', from, to, { query })

    Install

    npm i coa-ali-sls

    DownloadsWeekly Downloads

    6

    Version

    1.0.3

    License

    MIT

    Unpacked Size

    21.9 kB

    Total Files

    17

    Last publish

    Collaborators

    • adaex