sk-logger
v2.0.1
Published
A smart logging library for Node.js with real-time Admin Panel integration.
Readme
sk-logger
A smart logging library for Node.js with real-time Admin Panel integration.
Installation
npm install sk-loggerSetup
Initialize the logger with your HTTP server or Socket.IO instance in your main application entry point (e.g., server.ts).
import { createServer } from 'http';
import { Server } from 'socket.io';
import { initLogger, sLog } from 'sk-logger';
import express from 'express';
const app = express();
const server = createServer(app);
const io = new Server(server);
// Initialize Logger
initLogger({
io: io, // Pass your Socket.IO instance
logLevel: 'info', // 'info', 'warn', 'error', 'debug'
enableConsole: true,//Enable loggin
kill :false //You can set to true if your code ready for production this will disable logging completely
});
server.listen(3000, () => {
sLog('Server started on port 3000');
});Admin Panel
The admin panel is a static HTML interface included in the package. You can serve it using your preferred web framework or the built-in helper.
Option 1: Built-in Helper (Recommended)
Automatically serves the HTML and CSS files.
import { setupAdminPanel } from 'sk-logger';
// Serve Admin Panel at /admin/logs
setupAdminPanel(app, '/admin/logs');Option 2: Manual Static Serve
Use this if you want more control over how files are served.
import { getAdminPanelPath } from 'sk-logger';
// Serve Admin Panel at /admin/logs
app.use('/admin/logs', express.static(getAdminPanelPath()));Logging
Replace console.log with sLog or specific level helpers.
import { sLog, sInfo, sWarn, sError } from 'sk-logger';
sLog('User logged in', { userId: 123 });
sWarn('High memory usage');
sError('Database connection failed', err);Important
You can set kill to true to disable logging completely this is useful for production environments.
Configuration Options
| Option | Type | Description |
|--------|------|-------------|
| io | SocketIOServer | Existing Socket.IO instance (Recommended). |
| server | HttpServer | HTTP Server to attach a new Socket.IO instance to. |
| logLevel | string | Minimum level to log ('info', 'warn', 'error', 'debug'). |
| enableConsole | boolean | Whether to print logs to the console. |
| skipFiles | string[] | List of substrings to filter out log files (e.g. ['logger.ts']). |
| skipFunctions | string[] | List of substrings to filter out function names. |
| kill | boolean | If true, disables logging completely. |
