remote-logger-server
v1.0.0
Published
A lightweight WebSocket-based logging service that aggregates and displays logs from multiple remote applications in real-time with beautiful console formatting.
Maintainers
Readme
Remote Logger Server
A lightweight WebSocket-based logging service that aggregates and displays logs from multiple remote applications in real-time with beautiful console formatting.
Note: This is a development tool intended for logging and debugging purposes. For production logging, consider using established logging services with authentication and data persistence.
Installation
Global Installation
npm install -g remote-logger-server
# or
pnpm add -g remote-logger-server
# or
yarn global add remote-logger-serverUsage
Starting the Server
# Using default port (4455)
remote-logger-server
# Using custom port
PORT=8080 remote-logger-serverLocal Development
git clone https://github.com/khalidsheet/remote-logger-server.git
cd remote-logger-server
pnpm install
pnpm buildRunning locally:
pnpm start
# With custom port
PORT=8080 pnpm startThe server will start and display:
12:00:00 PM INFO Remote Logger service started on port 4455Sending Logs from Your Application
For frontend applications (React, Vue, Angular, etc.), please use the dedicated client package. The client package provides a simplified API and is optimized for browser environments.
Install the client package:
npm install remote-logger-client
# or
pnpm add remote-logger-client
# or
yarn add remote-logger-clientNote: The examples below show raw WebSocket usage for backend/Node.js applications. For frontend applications, use the client package instead.
Example Client
Node.js Example:
import WebSocket from "ws";
const ws = new WebSocket("ws://localhost:4455");
ws.on("open", () => {
ws.send(
JSON.stringify({
app: "MyApp",
message: ["User logged in:", { userId: 123 }],
caller: "src/auth/login.js:45",
})
);
});Browser Example:
const ws = new WebSocket("ws://localhost:4455");
ws.onopen = () => {
ws.send(
JSON.stringify({
app: "Frontend",
message: ["Button clicked:", buttonId],
caller: "components/Button.tsx:12",
})
);
};Output Format
Logs are displayed with the following format:
[TIME] [APP_NAME] [FILE] message contentExample:
12:34:56 PM [MyApp] [login.js] User logged in: { userId: 123 }Configuration
| Environment Variable | Default | Description |
| -------------------- | ------- | --------------------- |
| PORT | 4455 | WebSocket server port |
Development
Build
pnpm buildBuilds the project using tsdown and outputs to the dist/ directory in both CommonJS and ESM formats.
Project Structure
remote-logger-server/
├── src/
│ └── main.ts # Main server implementation
├── dist/ # Built files
├── package.json
├── tsconfig.json
└── tsdown.config.ts # Build configurationRequirements
- Node.js >= 20.0.0
Dependencies
- ws - WebSocket server implementation
- chalk - Terminal string styling
License
MIT
Author
Khalid M. Sheet ([email protected])
Contributing
Contributions are welcome! Feel free to open issues or submit pull requests.
Happy Hacking!
