slogx
v1.0.2
Published
slogx is a smart, flexible, and developer-friendly logger for Node.js. It supports colorful console logging, daily log file rotation, redaction of sensitive data, context-aware debugging (file & line number), and structured metadata.
Downloads
14
Readme
slogx
slogx is a smart, flexible, and developer-friendly logger for Node.js. It supports colorful console logging, daily log file rotation, redaction of sensitive data, context-aware debugging (file & line number), and structured metadata.
Ideal for backend apps, microservices, or CLI tools that need robust and readable logs.
🚀 Features
- ✅ Console + file logging
- ✅ Daily log file rotation (e.g. logs/2025-05-02.log)
- ✅ Colored output (info, warn, error, debug)
- ✅ Context tracking: shows file name and line number
- ✅ Redact sensitive keys like password, token, etc.
- ✅ Configurable via JSON file or code
- ✅ Custom metadata support (userId, sessionId, etc.)
- ✅ Easily extendable for traceId, async writing, or dashboards
📦 Installation
npm install slogx🧠 Usage
Basic usage with options:
const Logger = require("slogx");
const logger = new Logger({
name: "MyApp",
enableFileLogging: true,
logDir: "logs",
redactKeys: ["password", "token"],
});
logger.info("Server started");
logger.warn("Low disk space");
logger.error("Database connection failed");
// Log with metadata
logger.info("User login", { userId: 123, role: "admin" });
// Redacted fields
logger.info({ username: "admin", password: "secret123" });📂 Config File Support (Optional)
Create a config/logger.config.json file:
{
"name": "MyApp",
"enableFileLogging": true,
"logDir": "logs",
"redactKeys": ["password", "token"]
}Then initialize the logger with:
const Logger = require("slogx");
const logger = new Logger(); // Loads config automatically🧰 API Reference
| Method | Description | | ----------------------- | ---------------------------------- | | info(msg, meta) | Log info messages | | warn(msg, meta) | Log warnings | | error(msg, meta) | Log errors | | debug(msg, meta) | Log debugging info | | setRedactionRules(keys) | Override redaction keys at runtime |
📌 Metadata (meta) is optional and should be a plain object.
🗂️ Daily Log Files
Log files are saved in the logDir folder and named after the current date:
logs/
├── 2025-05-02.log
├── 2025-05-03.logEach day, slogx automatically creates a new file.
🔒 Redaction Example
logger.info({
user: "john",
password: "secret",
});Console output:
[INFO] [MyApp] [index.js:6] {"user":"john","password":"[a]"}💡 Roadmap (Coming Soon)
- 🌐 Trace ID support for request tracing
- 📤 Async log flushing & batching
- 🌈 Web dashboard for viewing logs in browser
- 📦 Custom transports (HTTP, Kafka, Slack)
🪪 License
MIT License © 2025 Rajveer Parmar
Happy logging with slogx! 📊
