Code ví dụ NodeJS Log4j, ghi log với package log4js
(Xem thêm: Tự học Node.js qua ví dụ)
Module log4js
log4js là một module (package) hỗ trợ việc ghi log. Nó khá giống với thư viện log4j trong java.
Cài đặt module log4js
:
npm i log4js
Include module winston vào project node.js:
var log4js = require("log4js");
Code ví dụ Node.js log4js
Khởi tạo project:
npm init -y
Cài đặt package log4js
npm i log4js
Tạo file index.js như sau:
const log4js = require("log4js"); log4js.configure({ "appenders": { "application": { "type": "console" }, "file": { "type": "file", "filename": "/logs/application.log", "compression": true, "maxLogSize": 10485760, "backups": 100 } }, "categories": { "default": { "appenders": [ "application", "file" ], "level": "info" } } }); const logger = log4js.getLogger(); logger.trace("stackjava.com"); logger.debug("stackjava.com"); logger.info("stackjava.com"); logger.warn("stackjava.com"); logger.error("stackjava.com"); logger.fatal("stackjava.com");
Trong đó:
const log4js = require("log4js");
: khởi tạo đối tượng log4jslog4js.configure
: cấu hình log4js, ở đây mình cấu hình 2 kiểu log là log ra file và log ra console với level là info. Riêng phần log ra file thì cấu hình ghi log ra file/logs/application.log
với kích thước là 10485760 byte, nếu vượt quá thì sẽ tạo file mới (không quá 100 file)
Cấu trúc project:
Chạy file index.js
node index.js
Kết quả:
Phần log trace và debug không được ghi ra vì mình chọn level là info.
File log được ghi ra:
[2021-05-29T17:31:13.243] [INFO] default - stackjava.com [2021-05-29T17:31:13.247] [WARN] default - stackjava.com [2021-05-29T17:31:13.247] [ERROR] default - stackjava.com [2021-05-29T17:31:13.247] [FATAL] default - stackjava.com [2021-05-29T17:31:25.420] [INFO] default - stackjava.com [2021-05-29T17:31:25.423] [WARN] default - stackjava.com [2021-05-29T17:31:25.424] [ERROR] default - stackjava.com [2021-05-29T17:31:25.424] [FATAL] default - stackjava.com
Nếu bạn muốn sử dụng để ghi log ở file khác thì chỉ cần export biến logger trong file index.js
ra là được
Okay, Done!
Download code ví dụ trên tại đây hoặc tại: https://github.com/stackjava/nodejs-log4js
References: https://www.npmjs.com/package/log4js