Published on October 10, 2022

Monitor when a user changes their email address in your NodeJs application

Monitor when a user changes their email address in your NodeJs application

Most of the time, when building a NodeJs application that is served to users, you will need to store the user's email address in your database. There are multiple reasons for this, such as sending the user a welcome email when they sign up for your application, sending the user a password reset email when they request a password reset, or sending the user a notification when they have been mentioned in a comment. In addition, it is commonly used for user authentication and authorization.

In most cases, some users may want to change their email addresses for various reasons while using your application. For example, they may have mistyped their email address when they signed up for your application or changed their email address for personal reasons. In any case, it is essential to track when a user changes their email address in your NodeJs application to ensure that you are always aware of the change and can update your database accordingly.

Fortunately, here at LogSnag, we have created a powerful solution for this problem. At its core, logSnag is a powerful, real-time event tracking tool that works seamlessly with any NodeJs application. LogSnag makes it easy to track any important event in your NodeJs application and monitor things such as user activity, user journeys, and more.

One common use case for LogSnag is to set up event tracking for when users change their email addresses in your NodeJs application in real-time. You may also optionally set up rules to notify you and your team when a user changes their email address in your NodeJs application.

In addition, LogSnag allows you to track user journeys and create a timeline of their actions to monitor the users' email address history and any other activity they have done in your application. This way, you can always track the activity of a specific user, such as when they change their email address and any other activity they have done in your application.


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

Use the following code snippet to track when a user changes their email address in your NodeJs application. All you need to do is to replace the YOUR_API_TOKEN with your LogSnag API token and update the project name to your project name.

Using NodeJs with Axios
const axios = require('axios');
let data = JSON.stringify({
"project": "my-saas",
"channel": "profile",
"event": "Updated Email Address",
"description": "User updated their email address to john@example.com",
"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": "profile",
"event": "Updated Email Address",
"description": "User updated their email address to john@example.com",
"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": "profile",
"event": "Updated Email Address",
"description": "User updated their email address to john@example.com",
"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": "profile",
"event": "Updated Email Address",
"description": "User updated their email address to john@example.com",
"icon": "📭",
"notify": true
}))
.end(function (res) {
if (res.error) throw new Error(res.error);
console.log(res.raw_body);
});

NodeJs integration details

LogSnag provides a set of powerful features such as cross-platform push notifications, event filtering, user and product journeys, charts, insights, and more. In addition, LogSnag is flexible and easy to use, making it a great companion for your NodeJs applications.

LogSnag provides 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 don't hesitate to 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 failed logins in your NodeJs application
  6. Monitor failed payments for your NodeJs application
  7. Monitor memory usage in your NodeJs application
  8. Monitor MySQL downtime in your NodeJs application
  9. Monitor when a new feature is used 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