🇬🇧 English
neko-logging
is an Express middleware that simplifies logging HTTP request and response details with customizable features like log formatting, route exclusion, and URL caching to prevent duplicate logs.
- Logs essential request data such as HTTP Method, URL, Status Code, and Response Time.
- Customizable log format via a custom format function.
- Supports custom transport for sending logs to external systems.
- Exclude specific routes from logging using the
ignoreRoutes
option. - URL caching system (enabled with
logCache
) to reduce duplicate logs.
Use npm or yarn to install this package:
Not yet published as an official package.
import express from "express";
import { NekoLogging } from "neko-logging";
const app = express();
app.use(
NekoLogging({
logTime: true,
logMethod: true,
logUrl: true,
logStatus: true,
logResponseTime: true,
})
);
app.get("/", (req, res) => {
res.send("Hello, world!");
});
app.listen(3000, () => {
console.log("Server is running on http://localhost:3000");
});
app.use(
NekoLogging({
logCache: true, // Enable URL caching
})
);
app.use(
NekoLogging({
customFormat: (log) => {
return `[${log.timestamp}] ${log.method} ${log.url} - ${log.responseTime}ms`;
},
})
);
app.use(
NekoLogging({
customTransport: async (logData, formattedMessage) => {
// Send log to an external system
console.log("Custom Transport: ", formattedMessage);
},
})
);
app.use(
NekoLogging({
ignoreRoutes: ["/health", "/metrics"],
})
);
We welcome contributions! To contribute to neko-logging
, please follow these steps:
- Fork this repository.
- Clone your fork locally:
git clone https://github.com/NekoSakuraLucia/Neko-Logging.git
- Install dependencies:
npm install
- Create a new branch for your feature or bugfix:
git checkout -b feature/new-feature
- Make your changes and write unit tests if applicable.
- Commit and push your changes:
git add . git commit -m "Add new feature" git push origin feature/new-feature
- Open a Pull Request (PR) to the main repository.
neko-logging
is licensed under the MIT License. See the LICENSE file for details.
🇹🇭 ภาษาไทย
neko-logging
เป็น middleware สำหรับ Express ที่ช่วยให้สามารถบันทึกข้อมูลเกี่ยวกับ HTTP requests และ responses ได้อย่างสะดวกและยืดหยุ่น โดยมีฟีเจอร์ที่สามารถปรับแต่งได้ เช่น การจัดรูปแบบ log การข้ามเส้นทางที่ไม่ต้องการ log และการเปิดใช้งานระบบแคช URL เพื่อหลีกเลี่ยงการบันทึก log ซ้ำ
- บันทึกข้อมูลสำคัญของคำขอ (Request) เช่น HTTP Method, URL, Status Code และ Response Time
- ปรับแต่งรูปแบบ log ด้วย custom format function
- สนับสนุนระบบ custom transport สำหรับส่ง log ไปยังระบบภายนอก
- ข้ามการ log routes บางเส้นทางด้วยตัวเลือก
ignoreRoutes
- ระบบแคช URL (เมื่อเปิดใช้งาน
logCache
) เพื่อลดการ log ซ้ำ
ใช้ npm หรือ yarn เพื่อติดตั้งแพ็คเกจนี้:
ยังไม่มีการเผยแพร่แพ็กเกจอย่างจริงจัง
import express from "express";
import { NekoLogging } from "neko-logging";
const app = express();
app.use(
NekoLogging({
logTime: true,
logMethod: true,
logUrl: true,
logStatus: true,
logResponseTime: true,
})
);
app.get("/", (req, res) => {
res.send("Hello, world!");
});
app.listen(3000, () => {
console.log("Server is running on http://localhost:3000");
});
app.use(
NekoLogging({
logCache: true, // เปิดใช้งานระบบแคช URL
})
);
app.use(
NekoLogging({
customFormat: (log) => {
return `[${log.timestamp}] ${log.method} ${log.url} - ${log.responseTime}ms`;
},
})
);
app.use(
NekoLogging({
customTransport: async (logData, formattedMessage) => {
// ส่ง log ไปยังระบบภายนอก
console.log("Custom Transport: ", formattedMessage);
},
})
);
app.use(
NekoLogging({
ignoreRoutes: ["/health", "/metrics"],
})
);
เรายินดีต้อนรับ Contributions! หากคุณต้องการช่วยพัฒนา neko-logging
กรุณาทำตามขั้นตอนดังนี้:
- Fork Repository นี้
- Clone Repository มายังเครื่องของคุณ:
git clone https://github.com/NekoSakuraLucia/Neko-Logging.git
- ติดตั้ง Dependencies:
npm install
- สร้าง Branch ใหม่สำหรับ Feature หรือ Bugfix ของคุณ:
git checkout -b feature/new-feature
- แก้ไขโค้ดและเขียน Unit Tests หากจำเป็น
- Commit และ Push การเปลี่ยนแปลงของคุณ:
git add . git commit -m "Add new feature" git push origin feature/new-feature
- เปิด Pull Request (PR) ใน Repository หลัก
neko-logging
ได้รับอนุญาตภายใต้ MIT License ดูรายละเอียดในไฟล์ LICENSE