logsilo
v1.0.1
Published
A lightweight logging utility for sending logs to a configured endpoint.
Downloads
165
Maintainers
Readme
LogSilo
A lightweight logging utility for sending logs to a configured endpoint.
Installation
Use the package manager npm to install Silo.
npm install logsilo
Usage
1. Importing and Initializing Silo
To start using Silo, first import it and create an instance with your specific configuration.
import silo, { Silo, SiloLog } from 'logsilo';
// Create an instance of Silo with your configuration
const siloInstance: Silo = silo.create({
apiKey: 'Your Silo Backend Api Key' // The api key of the backend
apiUrl: 'https://your-backend-api-url', // The backend endpoint for sending logs
application: 'Your App Name', // The name of your application
});
2. Creating a Log Entry
Once you have an instance, create individual log entries using the SiloLog class. Each log entry allows for customizable properties.
const siloLog: SiloLog = new SiloLog({
shortDescription: 'This is a 404 test log', // Required, brief description of the log
detailedDescription: 'This is the longer description of the 404 test log which occurred...', // Optional, detailed description
service: 'Your Service Which Produced The Log', // Optional, name of the service responsible
level: 2, // Optional, severity level of the log (e.g., 1 = Info, 2 = Warning, 3 = Error)
user: 'John Doe', // Optional, user associated with the log
path: '/some-super-test-route', // Optional, route or path related to the log event
statusCode: 404, // Optional, HTTP status code (if applicable)
timestamp: new Date() // Optional default is new Date()
});
3. Using LogSilo
With your log entry created, you can use the following methods with your siloInstance.
// Display the log in the console
siloInstance.console(siloLog);
// Send the log to the backend API specified in the instance's configuration
siloInstance.send(siloLog);
// Display the current configuration of the instance in the console
siloInstance.showConfig();
// Show the Silo logo in the console
siloInstance.showSiloArt();
Example
import silo, { Silo, SiloLog } from 'logsilo';
// Initialize an instance
const siloInstance: Silo = silo.create({
apiKey: 'Your Silo Backend Api Key',
apiUrl: 'https://your-backend-api-url',
application: 'Example App',
});
// Create a log entry
const exampleLog: SiloLog = new SiloLog({
shortDescription: 'Example log entry',
detailedDescription: 'Detailed information about this log entry...',
service: 'Example Service',
level: 1,
user: 'Alice Doe',
path: '/example-path',
statusCode: 400,
});
// Log to console and send to API
siloInstance.console(exampleLog);
try {
const response = await siloInstance.send(exampleLog);
} catch (error) {
console.error(error);
}
// Display config and show the logo
siloInstance.showConfig();
siloInstance.showSiloArt();