LogSignT Tài liệu Lập trình
LogSignT là nền tảng log monitoring edge-native: mỗi request API của bạn được ghi lại, làm giàu geo, và lưu thẳng vào database của bạn — không qua bên thứ ba.
Quick Start
Tích hợp LogSignT vào dự án của bạn chỉ trong 3 bước:
Bước 1 — Cài đặt SDK
npm install eboss-log
Bước 2 — Thêm middleware
import { createLogger } from "eboss-log";
const logger = createLogger({
logKey: process.env.LOG_KEY,
project: "my-api",
});
// Express
app.use(logger.express());
// Fastify
fastify.addHook("onSend", logger.fastify());
// Hono
app.use("*", logger.hono());Bước 3 — Mở Dashboard
Truy cập /login và đăng nhập bằng API Key để xem logs ngay lập tức trong giao diện real-time.
Authentication
LogSignT hỗ trợ 2 phương thức xác thực:
- API Key — Header
x-log-key. Dùng cho project-level access (không cần account). - JWT Bearer — Header
Authorization: Bearer TOKEN. Dùng cho master/admin.
// Option 1: API Key (project-level)
fetch("https://api.logsignt.dev/log", {
headers: { "x-log-key": "YOUR_API_KEY" }
})
// Option 2: JWT (master / admin)
fetch("https://api.logsignt.dev/log", {
headers: { "Authorization": "Bearer YOUR_JWT" }
})process.env.LOG_KEY hoặc secret manager.SDK Overview
LogSignT cung cấp SDK cho các ngôn ngữ phổ biến. Tất cả đều gửi log đến cùng một endpoint POST /log.
Node.js SDK
Hỗ trợ Express, Fastify và Hono qua một interface thống nhất.
import { createLogger } from "eboss-log";
const logger = createLogger({
logKey: process.env.LOG_KEY,
project: "my-api",
});
// Express
app.use(logger.express());
// Fastify
fastify.addHook("onSend", logger.fastify());
// Hono
app.use("*", logger.hono());Python
Gửi log thủ công từ ứng dụng Python qua httpx hoặc requests.
import httpx, os
def send_log(method, url, status, latency_ms, uid=None):
httpx.post(
"https://api.logsignt.dev/log",
headers={"x-log-key": os.environ["LOG_KEY"]},
json={
"method": method, "url": url,
"status": status, "latency_ms": latency_ms,
**({"uid": uid} if uid else {})
}
)Go
Tích hợp vào Go services bằng standard library, không cần dependency ngoài.
package main
import (
"bytes"; "net/http"; "encoding/json"; "os"
)
func sendLog(method, url string, status, ms int) {
body, _ := json.Marshal(map[string]any{
"method": method, "url": url,
"status": status, "latency_ms": ms,
})
req, _ := http.NewRequest("POST",
"https://api.logsignt.dev/log", bytes.NewReader(body))
req.Header.Set("x-log-key", os.Getenv("LOG_KEY"))
req.Header.Set("content-type", "application/json")
http.DefaultClient.Do(req)
}Raw HTTP API
Gửi log trực tiếp qua HTTP POST mà không cần SDK nào.
https://api.logsignt.dev/logRequest Body
| Field | Type | Description |
|---|---|---|
| method | string | HTTP method: GET, POST, PUT… |
| url | string | Request URL or path |
| status | number | HTTP status code |
| latency_ms | number | Response time in ms |
| uid | string? | Optional user identifier |
| custom_fields | object? | Any extra key-value pairs |
Ví dụ
curl -X POST https://api.logsignt.dev/log \
-H "x-log-key: YOUR_KEY" \
-H "content-type: application/json" \
-d '{
"method": "POST",
"url": "/api/orders",
"status": 201,
"latency_ms": 42,
"uid": "user_99"
}'Phản hồi
// Success
{ "ok": true }
// Error
{ "ok": false, "error": "Invalid key" }Data Ownership
LogSignT không lưu trữ logs trên server của chúng tôi. Mọi log được ghi thẳng vào database của bạn:
- PostgreSQL (via Hyperdrive)
- D1 SQLite (Cloudflare)
- MySQL / MariaDB (coming soon)
Dashboard Guide
Sau khi tích hợp SDK, mở Dashboard tại /dashboard để:
- Xem logs real-time qua SSE stream
- Lọc theo status, method, IP, URL, country
- Biểu đồ xu hướng lỗi theo giờ/ngày
- Top URLs chậm nhất và nhiều request nhất
- Bản đồ phân bố địa lý người dùng
Ctrl+K ở bất kỳ đâu để mở Command Palette và điều hướng nhanh.Alerts & Notifications
LogSignT theo dõi error rate và response time của bạn và gửi cảnh báo tự động khi vượt ngưỡng.
Cấu hình ngưỡng
Vào Settings → Alerts để thiết lập:
- Error Rate Threshold — % lỗi tối đa (mặc định 10%)
- Latency Threshold — ms trung bình tối đa
- Quiet Hours — Tắt thông báo ban đêm
Chrome Extension
Cài đặt LogSignT Chrome Extension để nhận cảnh báo ngay trong browser, kể cả khi không mở Dashboard. Extension hỗ trợ Side Panel, Command Palette, và AI Alert Summary.