Code ví dụ TypeScript logger (ghi log TypeScript với log4js)
Bài viết được sự cho phép của tác giả Trần Hữu Cương
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:
Có thể bạn quan tâm: Việc làm lập trình Typescript lương cao tại Topdev.
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
Bài viết gốc được đăng tải tại stackjava.com
Có thể bạn quan tâm:
- So sánh Typescript với JavaScript
- Tìm hiểu về TypeScript
- Tạo dự án app-template-lit-element-typescript với snowpack
Xem thêm Việc làm IT hấp dẫn trên TopDev
- C Cách tích hợp ChatGPT vào Google Search siêu dễ
- V VoiceGPT là gì? Giới thiệu tính năng và cách cài đặt sử dụng Voice GPT
- G GPT-4o Mini – Thông minh hơn và tiết kiệm hơn?
- C ChatGPT-4o là gì? Điểm mới của ChatGPT-4o vs ChatGPT-4
- C Chat GPT 4.0 là gì? Có gì vượt trội so với Chat GPT phiên bản cũ?
- C Cách tự học code web, tìm kiếm công việc dễ dàng và hạnh phúc mỗi ngày
- G Giới thiệu 15 website học và luyện hack hợp pháp
- T Tầm quan trọng của các chương trình đào tạo sau đại học trong kỷ nguyên 4.0
- i iOS 17.5 Beta 1 vừa được phát hành, những thay đổi nào đáng chú ý?
- i iOS 18 khi nào ra mắt? iOS 18 sẽ không hỗ trợ máy nào?