UNPKG

@logsnag/node

Version:

LogSnag client for Node.js applications

118 lines (89 loc) 2.55 kB
<div align="center"> <img src="https://logsnag.com/og-image.png" alt="LogSnag"/> <br> <h1>@logsnag/node</h1> <p>Clear, Simple, Effective Product Analytics for SaaS.</p> <a href="https://www.npmjs.com/package/@logsnag/node"><img src="https://img.shields.io/npm/v/@logsnag/node" alt="NPM Version"></a> <a href="https://discord.gg/dY3pRxgWua"><img src="https://img.shields.io/discord/922560704454750245?color=%237289DA&label=Discord" alt="Discord"></a> <a href="https://docs.logsnag.com"><img src="https://img.shields.io/badge/Docs-LogSnag" alt="Documentation"></a> <br> <br> </div> ## Installation ### Using npm ```bash npm install @logsnag/node ``` ### Using yarn ```bash yarn add @logsnag/node ``` ### Using pnpm ```bash pnpm add @logsnag/node ``` ## Usage ```javascript import { LogSnag } from '@logsnag/node'; const logsnag = new LogSnag({ token: '<TOKEN>', project: '<PROJECT_NAME>' }); // Track an event await logsnag.track({ channel: "payments", event: "New Subscription", user_id: "user-123", icon: "💰", notify: true, tags: { plan: "premium", cycle: "monthly", trial: false } }); // Identify user traits (e.g. name, email, plan, etc.) await logsnag.identify({ user_id: "user-123", properties: { name: "John Doe", email: "john@doe.com", plan: "premium", } }); // Track an insight await logsnag.insight.track({ title: "User Count", value: "100", icon: "👨", }); // Increment an insight value await logsnag.insight.increment({ title: "User Count", value: 1, icon: "👨", }); ``` ## Disabling Tracking You can disable tracking for development purposes by using the `disableTracking` method: ```javascript logsnag.disableTracking(); ``` And enable it back with: ```javascript logsnag.enableTracking(); ``` You can check if tracking is disabled with: ```javascript logsnag.isTrackingDisabled(); ``` ## Methods - `track(options: TrackOptions): Promise<boolean>`: Track custom events. - `identify(options: IdentifyOptions): Promise<boolean>`: Identify user traits. - `group(options: GroupOptions): Promise<boolean>`: Group users. - `insightTrack(options: InsightTrackOptions): Promise<boolean>`: Track insights. - `insightIncrement(options: InsightIncrementOptions): Promise<boolean>`: Increment insight values. ## API Documentation For more information about the LogSnag API, see: [docs.logsnag.com](https://docs.logsnag.com) ## Support If you encounter any problems or issues, please contact us at [shayan@logsnag.com](mailto:shayan@logsnag.com)