@logsnag/node
Version:
LogSnag client for Node.js applications
118 lines (89 loc) • 2.55 kB
Markdown
<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)