@gaoding/web-logger
TypeScript icon, indicating that this package has built-in type declarations

1.1.2 • Public • Published

@gaoding/web-logger

Web 平台日志上报 SDK

安装

npm i @gaoding/web-logger

使用

import { webLogger, wxLogger } from '@gaoding/web-logger';

// weblogger 和 wxLogger 接口一致

// 在项目入口初始化
logger.init('testname', { isDebug: true, user: {id: '123456'}, is_login: true });

logger.error('发送一个错误日志');
logger.error(new Error('发送一个错误日志'));

logger.info('发送一个消息日志');

// 修改用户id
logger.setUser({id: '45667'})
// 修改配置项
logger.setOptions({is_login: false})

处理 vue.js 的 onerror 错误

import Vue from 'vue';
import { vuePlugin, logger } from '@gaoding/web-logger';

// 自动上报 vue 错误日志
vuePlugin(logger, Vue);

处理 window 的 onerror 错误

import { windowPlugin, logger } from '@gaoding/web-logger';

// 自动上报 window 错误日志
windowPlugin(logger);

具体接口

// 扩展字段
export interface IAttributes {
    module: string;
    url?: string;
    method?: 'GET' | 'POST' | 'PUT' | 'DELETE';
    ua?: string;
    errorType?: string;
    stacktrace: {
        file: string;
        args?: string[];
        context?: string;
        line?: number;
        column?: number;
        func?: string;
    }[];
    [k: string]: any;
}

// 初始化选型
export interface IOptions {
    isDebug?: boolean;
    log_type?: string;

    // 用户是否登录,区分游客
    is_login?: boolean;
    device_id?: string;
    dsn: string;
    stackTraceLimit?: number;

    // 用户信息
    user?: IUser;
}

declare class Logger {
    init(appName: string, options?: Partial<IOptions>): void;
    setUser(user: IUser): void;
    setOptions(options: IOptions): void;
    info(message: string | Error, attributes?: Partial<IAttributes>): void;
    debug(message: string | Error, attributes?: Partial<IAttributes>): void;
    error(message: string | Error, attributes?: Partial<IAttributes>): void;
    warn(message: string | Error, attributes?: Partial<IAttributes>): void;
}

/@gaoding/web-logger/

    Package Sidebar

    Install

    npm i @gaoding/web-logger

    Weekly Downloads

    9

    Version

    1.1.2

    License

    UNLICENSED

    Unpacked Size

    42.2 kB

    Total Files

    26

    Last publish

    Collaborators

    • linfanboss
    • gaoding-bot
    • sharkseven
    • facai
    • laoshu133
    • aui
    • mljsgto222
    • xuezi
    • mutou
    • moocher
    • zengtiansheng