QUẢN LÝ LOGS TRONG DỰ ÁN NODEJS

Như các bạn đã biết, Logs là vấn đề không thể thiếu trong một dự án dù lớn hay nhỏ. Việc quản lý Logs chuyên nghiệp giúp chúng ta dễ dàng đồng bộ với các pha (phase) khác trong dự án.
Để quản lý Logs trong dự án NodeJS, chúng ta dùng Winston.  Bước đầu tiên vẫn là sử dụng NPM để download và cài đặt gói:
Để hiểu chi tiết và cách sử dụng Winston. Các bạn nghiên cứu cụ thể ở link sau: https://github.com/winstonjs/winston.git
Sau khi cài đặt thành công,  chúng ta sẽ tiến hành xây dựng một đối tượng Logger cho dự án. Đối tượng này sẽ được gọi đến bất cứ khi nào bạn cần ghi Logs.
Bây giờ tôi sẽ tạo một thư mục helpers, và tạo 1 file logger.js ở trong thư mục đó:
Ta sẽ đưa đoạn code sau vào file logger.js:
Ở đoạn mã trên, chúng ta sử dụng winston.transport.Console. Điều đó có nghĩa rằng logs sẽ được ghi ra stdout. Nếu bạn muốn lưu vào file, bạn nên sử dụng winston.transport.File
Các Options được giải thích như sau:
level: Các mức log  ({ error: 0, warn: 1, info: 2, verbose: 3, debug: 4, silly: 5 })
json: Nếu true, Logs in ra sẽ có định dạng JSON
handleExceptions: Nếu true, các lỗi của ứng dụng cũng được Winston quản lý
formatter: Khai báo định dạng của Logs
Tiếp theo, chúng ta sẽ thử dụng đối tượng Logger vừa tạo ra. Chúng ta mở file index.js, và khai báo sử dụng logger:
Và thay:
Bằng:
Cuối cùng thử chạy ứng dụng, kết quả in ra màn hình như sau:
Như vậy, bạn đã quản lý được Logs. Tiếp theo, chúng ta sẽ tìm hiểu về cách quản lý config

Comments

Popular Posts