@logelse/nodejs
v1.0.1
Published
Node.js SDK for Logelse log ingest API
Maintainers
Readme
@logelse/nodejs
Simple Node.js SDK for Logelse log ingest API.
Installation
npm install @logelse/nodejsQuick Start
import { LogelseClient } from '@logelse/nodejs';
// Initialize once with your API key and app info
const logger = new LogelseClient('YOUR_API_KEY', {
appName: 'my-app',
appUuid: 'my-app-uuid'
});
// Send logs (timestamp is automatic)
await logger.info('Application started');
await logger.error('Something went wrong');
await logger.debug('Debug information');API
Initialize
const logger = new LogelseClient(apiKey, options);Required:
apiKey- Your Logelse API keyoptions.appName- Your application nameoptions.appUuid- Your application UUID
Optional:
options.baseUrl- Custom API URL (default: https://ingst.logelse.com)options.timeout- Request timeout in ms (default: 5000)options.retryAttempts- Retry attempts (default: 3)options.debug- Enable debug logs (default: false)
Log Methods
// Main method
await logger.log(level, message, timestamp?)
// Convenience methods
await logger.debug(message, timestamp?)
await logger.info(message, timestamp?)
await logger.warn(message, timestamp?)
await logger.error(message, timestamp?)
await logger.fatal(message, timestamp?)All methods are async and non-blocking. Timestamp is optional (auto-generated if not provided).
Examples
Basic Usage
import { LogelseClient } from '@logelse/nodejs';
const logger = new LogelseClient('your-api-key', {
appName: 'my-app',
appUuid: 'app-123'
});
// Simple logging
await logger.info('User logged in');
await logger.error('Database connection failed');
// With custom timestamp
await logger.warn('High memory usage', '2024-01-01T12:00:00Z');Express.js
import express from 'express';
import { LogelseClient } from '@logelse/nodejs';
const app = express();
const logger = new LogelseClient('your-api-key', {
appName: 'web-server',
appUuid: 'server-001'
});
app.use(async (req, res, next) => {
await logger.info(`${req.method} ${req.path}`);
next();
});
app.get('/', (req, res) => {
res.json({ message: 'Hello World!' });
});
app.listen(3000, async () => {
await logger.info('Server started on port 3000');
});Error Handling
try {
await logger.info('Processing request');
// Your code here
} catch (error) {
// Logging errors are handled internally with retries
// Your application continues normally
console.log('Log may have failed, but app continues');
}Features
- ✅ Simple API - Just set app info once, then log with level and message
- ✅ Non-blocking - Never blocks your application
- ✅ Auto-retry - Automatic retries with backoff
- ✅ TypeScript - Full TypeScript support
- ✅ Lightweight - Minimal dependencies
License
Apache 2.0
