@developer-jdea/jlog
v1.1.0
Published
JCore Logger - Console and Database logging utility
Downloads
62
Readme
@developer-jdea/jlog
JCore Logger - ไลบรารีสำหรับ logging ทั้งแบบ console, ไฟล์ (หมุนตามวัน) และ database
การติดตั้ง
npm install @developer-jdea/jlogการใช้งาน
Console Logging
import { ConsoleLog } from '@developer-jdea/jlog';
ConsoleLog.trace('trace message');
ConsoleLog.debug('debug message');
ConsoleLog.info('info message');
ConsoleLog.warn('warning message');
ConsoleLog.error('error message');
// เพิ่ม property
const child = ConsoleLog.child({ userId: '123' });
child.info('user action');ConsoleLog จะเขียน log ออก console และไฟล์พร้อมกัน โดยไฟล์จะถูกหมุนใหม่ทุกวัน (daily rotation)
File Logging (Daily Rotation)
ไฟล์ log ถูกสร้างและหมุนอัตโนมัติทุกวัน ตั้งค่าผ่าน environment variables (ทุกตัวเป็น optional):
LOG_FILE=./logs/app # path พื้นฐานของไฟล์ log (default: ./logs/app)
LOG_FILE_MAX_FILES=30 # จำนวนไฟล์เก่าที่เก็บไว้ (default: 30 วัน)ตัวอย่างชื่อไฟล์ที่ได้: logs/app.2026-07-30.log (วันถัดไปจะขึ้นไฟล์ใหม่เอง และโฟลเดอร์ logs/ ถูกสร้างให้อัตโนมัติ)
- Console ใช้รูปแบบ pretty อ่านง่าย ส่วนไฟล์เก็บเป็น JSON (เหมาะกับการ parse/ship ต่อ)
- เมื่อจำนวนไฟล์เกิน
LOG_FILE_MAX_FILESไฟล์เก่าสุดจะถูกลบให้อัตโนมัติ
Database Logging
import { WriteDBLog, DBLogDataModel } from '@developer-jdea/jlog';
// ตั้งค่า environment variables
process.env.LOG_DB_HOST = 'localhost';
process.env.LOG_DB_PORT = '3306';
process.env.LOG_DB_USERNAME = 'user';
process.env.LOG_DB_PASSWORD = 'password';
process.env.LOG_DB_NAME = 'logs';
process.env.LOG_DB_TYPE = 'mysql';
// เขียน log ลง database
const logData: DBLogDataModel[] = [
{ fieldName: 'action', fieldValue: 'login' },
{ fieldName: 'userId', fieldValue: '123' }
];
WriteDBLog('user_logs', logData);Log Levels
trace- ไม่แสดงบน productiondebug- ไม่แสดงบน productioninfo- แสดงทุก environmentwarn- แสดงทุก environmenterror- แสดงทุก environment
ตั้งค่า LOG_LEVEL=production เพื่อแสดงเฉพาะ info, warn, error
License
MIT
