Code ví dụ TypeScript logger (ghi log TypeScript với log4js)
(Xem lại: Code ví dụ nodejs log4js)
1. Code ví dụ TypeScript log4j
khởi tạo project typescript. (Xem lại: tạo project TypeScript)
mkdir typescript-log4j cd typescript-log4j npm i typescript --save-dev npx tsc --init
Cài đặt module log4js
npm i log4js
Tạo file src/logger.ts
: khởi tạo và cấu hình log4j
import { configure, getLogger } from "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" } } }); export const logger = getLogger();
Trong đó:
export const logger = getLogger();
: khởi tạo đối tượng log4js và export ra để các file khác sử dụng.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)
Tạo file src/index.ts
gọi tới đối tượng log4js đã export từ file logger.ts để ghi log:
import { logger } from "./logger"; logger.trace("stackjava.com"); logger.debug("stackjava.com"); logger.info("stackjava.com"); logger.warn("stackjava.com"); logger.error("stackjava.com"); logger.fatal("stackjava.com");
Cấu trúc project
Demo:
File log được ghi ra:
[2021-06-12T16:58:45.127] [INFO] default - stackjava.com [2021-06-12T16:58:45.132] [WARN] default - stackjava.com [2021-06-12T16:58:45.133] [ERROR] default - stackjava.com [2021-06-12T16:58:45.133] [FATAL] default - stackjava.com
Okay done!
Download code ví dụ trên tại đây hoặc tại đây https://github.com/stackjava/typescript-log4js
References: