Code ví dụ TypeScript logger (ghi log TypeScript với log4js)

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

Code ví dụ TypeScript logger (ghi log TypeScript với log4js)

Demo:

Code ví dụ TypeScript logger (ghi log TypeScript với log4js)

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:

https://www.npmjs.com/package/log4js

stackjava.com