Lập trình viên track errors javascript ở người dùng thế nào?

Nội dung bài viết

Lỗi javascript trong khi đang triển khai thì đơn giản những anh em developers sẽ bật console lên và xử lý, nhưng khi bàn giao rồi, thì việc track javascript errors thì như thế nào? Tracking thì có nhiều loại, như track xem người dùng sử dụng thiết bị gì? Track xem online mấy tiếng? Track xem ông lướt vào topic nào nhiều nhất? Track xem đam mê em nào nhiều nhất? Và có nhất thiết là phải sử dụng javascript hay không? Bài trước tôi có sử dụng css để có thể tracking người dùng, nếu cảm thấy hay thì zô đó mà xem nhé! Bài viết này sẽ gợi ý cho bạn một cách ngắn gọn nhưng cực kỳ hiệu quả. Đơn giản trong từng đoạn code về việc track error javascript ở Clients.


Phần 2:  Thực hành theo dõi hành vi và log của người dùng thông qua websocket và node.js


Lỗi javascript Client tại sao phải theo dõi?


Nếu là bạn là một người dùng trên ứng dụng thì khi xảy ra lỗi bạn có thông báo đến người chịu trách nhiệm không? CÓ mà rất ít, đảm bảo là vậy. Hầu hết người dùng sẽ không thông báo cho team support ứng dụng về một hành vi không mong muốn và sẽ chỉ âm thầm ra đi ở ứng dụng khác. Một vài lần như vậy họ sẽ xoá ứng dụng là điều chắc chắn. 

Ở đây nói đến hai vai trò, một là DEV thì phải có trách nhiệm đảm bảo việc thu thập những vấn đề hay lỗi từ người dùng. Phải tracking được mọi thứ trừ những vấn đề nhạy cảm riêng tư. Vai trò thứ hai đó là team quản lý sản phẩm, lôi kéo người dùng sử dụng, nhưng làm thế nào để họ ở lại với ứng dụng đó. Đó mới là điều quan trọng.


Lỗi JavaScript theo dõi bằng cách nào?


Nếu tôi nói ra hẳn có nhiều bạn sẽ thốt lên: "Oà thì ra là nó!!! vậy thì đơn giản quá, nhưng giờ mới biết". Ok, ai cũng biết về "Window: error event" đó là một trigger của browser. Sự kiện này cung cấp một số thông tin hữu ích về lỗi: tệp, số dòng và vị trí xảy ra lỗi. Điều này sẽ giúp ích chúng ta rất nhiều để biết khi nào lỗi xảy ra, và xảy ra ở đâu, từ đó fix một cách nhẹ nhàng, êm dịu. Ví dụ:

window.addEventListener('error', function(e) {
  let stacktrace = e.stack;
  if (!stacktrace && e.error) {
    stacktrace = e.error.stack;
  }
 
  // For now, just print the error
  console.log(e.message + ', ' + e.filename + ', ' + e.lineno + ':' + e.colno)
  if (stacktrace) {
    console.log('Stacktrace: ' + stacktrace);
  }
});

Tóm lại


Trên kia là một pha bắt lỗi, từ file nào? Dòng nào ... để xác định thủ phạm và thằng nào làm ở đây!! Ngon, câu hỏi đặt ra ở đây, làm thế nào để gửi những lỗi này về server? Thì có nhiều cách gửi trong đó có một cách được sử dụng phổ biến đó là sử dụng WebSocket. Những ai mà chưa nghe or muốn tìm hiểu qua về WebSocket thì chúng ta đã có phần thảo luận ở trước bài viết này. Phần sau, nếu bạn không ngại thì tiếp tục đồng hành trong việc "Sử dụng WebSocket tiếp nhận lỗi từ clients"

Có thể bạn đã bị missing