Published on August 20, 2022

Monitor when a new feature is used in your NodeJs application

Monitor when a new feature is used in your NodeJs application

As developers, we always look for ways to improve our NodeJs products. To do so, we are constantly looking for ways to provide more value to our users and improve their experience.

For example, I am sure you have heard of the term "feature flag" before. A feature flag is a way to enable or disable a feature in your application. This is a great way to test new features and ensure they work as expected before releasing them to your users.

However, adding a new feature is just the first step. Once we have released the feature, we must ensure that our users are using it. We must confirm whether the feature is useful and whether our users are using and benefiting from it.

LogSnag is an excellent tool for this problem as it trivializes integrating with your NodeJs application and tracking events. With LogSnag, we can easily track any critical event in our application and monitor user activity when a new feature is released, all in real-time.

For example, let's say we're building a NodeJs application that allows our users to upload files, and we want to add a new feature that allows users to share these files with other users directly. We can use LogSnag to track an event when a user shares a file with another user. We can then use this to monitor how often this feature is being used and even go further and track user journeys to see how they use it.


Setting up LogSnag

  1. Sign up for a free LogSnag account.
  2. Create your first project from the dashboard.
  3. Head to settings and copy your API token.

NodeJs code snippets

Simply use the following code snippets to monitor your new features using LogSnag. Make sure to replace the YOUR_API_TOKEN with your API token and update the project and channel names.

Using NodeJs with Axios
const axios = require('axios');
let data = JSON.stringify({
"project": "my-saas",
"channel": "features",
"event": "User Shared File",
"description": "User shared a file with another user",
"icon": "📩",
"notify": true
});

let config = {
method: 'post',
maxBodyLength: Infinity,
url: 'https://api.logsnag.com/v1/log',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_API_TOKEN'
},
data : data
};

axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
Using NodeJs with Native
var https = require('follow-redirects').https;
var fs = require('fs');

var options = {
'method': 'POST',
'hostname': 'api.logsnag.com',
'path': '/v1/log',
'headers': {
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_API_TOKEN'
},
'maxRedirects': 20
};

var req = https.request(options, function (res) {
var chunks = [];

res.on("data", function (chunk) {
chunks.push(chunk);
});

res.on("end", function (chunk) {
var body = Buffer.concat(chunks);
console.log(body.toString());
});

res.on("error", function (error) {
console.error(error);
});
});

var postData = JSON.stringify({
"project": "my-saas",
"channel": "features",
"event": "User Shared File",
"description": "User shared a file with another user",
"icon": "📩",
"notify": true
});

req.write(postData);

req.end();
Using NodeJs with Request
var request = require('request');
var options = {
'method': 'POST',
'url': 'https://api.logsnag.com/v1/log',
'headers': {
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_API_TOKEN'
},
body: JSON.stringify({
"project": "my-saas",
"channel": "features",
"event": "User Shared File",
"description": "User shared a file with another user",
"icon": "📩",
"notify": true
})

};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
Using NodeJs with Unirest
var unirest = require('unirest');
var req = unirest('POST', 'https://api.logsnag.com/v1/log')
.headers({
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_API_TOKEN'
})
.send(JSON.stringify({
"project": "my-saas",
"channel": "features",
"event": "User Shared File",
"description": "User shared a file with another user",
"icon": "📩",
"notify": true
}))
.end(function (res) {
if (res.error) throw new Error(res.error);
console.log(res.raw_body);
});

NodeJs integration details

LogSnag is a use-case agnostic event tracking tool that easily integrates with any NodeJs application. It provides powerful features such as real-time event tracking, cross-platform push notifications, event filtering, user and product journeys, charts and analytics, and much more.

Here at LogSnag, we believe that event tracking should be easy and accessible to everyone, and that's why we have made it trivial to integrate with your NodeJs application. It only takes a few minutes to set up LogSnag, and you can start tracking events in no time.

We provide a generous free plan to get you started with event tracking! You can also check out our pricing page to see our paid plans. So please give us a try and let us know what you think!

Other use-cases for LogSnag

  1. Monitor your CI/CD build status for your NodeJs application
  2. Monitor your CPU usage in your NodeJs application
  3. Monitor when database goes down in your NodeJs application
  4. Monitor high disk usage in your NodeJs application
  5. Monitor when a user changes their email address in your NodeJs application
  6. Monitor failed logins in your NodeJs application
  7. Monitor failed payments for your NodeJs application
  8. Monitor memory usage in your NodeJs application
  9. Monitor MySQL downtime in your NodeJs application
  10. Monitor your Postgres downtime in your NodeJs application
  11. Monitor Redis downtime in your NodeJs application
  12. Monitor suspicious activity in your NodeJs application
  13. Monitor when a user exceeds the usage limit for your NodeJs service
  14. Monitor when a user is being rate limited in your NodeJs application
  15. Get a notification when your NodeJs code is done executing
  16. Send push notifications to your phone or desktop using NodeJs
  17. Track canceled subscriptions in your NodeJs application
  18. Track your NodeJs cron jobs
  19. Track when a file is uploaded to your NodeJs application
  20. Track when a form is submitted to your NodeJs application
  21. Track payment events via NodeJs
  22. Track user sign in events in NodeJs
  23. Track user signup events via NodeJs
  24. Track waitlist signup events via NodeJs
View all common use-cases with NodeJs