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.logvớ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:



