Tài liệu

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.

💡
Tài liệu này đang được xây dựng. Nếu bạn muốn đóng góp nội dung, vui lòng mở Pull Request trên GitHub.

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

terminal
npm install eboss-log

Bước 2 — Thêm middleware

server.js
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.

ℹ️
API Key có thể lấy trong Settings → Project Tokens sau khi tạo project.

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.
auth.js
// 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" }
})
⚠️
Không commit API Key vào source code. Dùng biến môi trường 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.

server.js
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.

logger.py
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.

logger.go
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.

POSThttps://api.logsignt.dev/log

Request Body

FieldTypeDescription
methodstringHTTP method: GET, POST, PUT…
urlstringRequest URL or path
statusnumberHTTP status code
latency_msnumberResponse time in ms
uidstring?Optional user identifier
custom_fieldsobject?Any extra key-value pairs

Ví dụ

curl
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

response.json
// 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)
💡
Kết nối database trong Settings → Databases sau khi đăng nhập. Chúng tôi chỉ cần connection string của bạn.

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
ℹ️
Nhấn 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.