UNPKG

logsilo

Version:

A lightweight logging utility for sending logs to a configured endpoint.

115 lines (85 loc) 3.55 kB
# LogSilo A lightweight logging utility for sending logs to a configured endpoint. ## Installation Use the package manager [npm](https://www.npmjs.com/) to install Silo. ```bash npm install logsilo ``` ## Usage ### 1. Importing and Initializing Silo To start using Silo, first import it and create an instance with your specific configuration. ```javascript 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. ```javascript 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. ```javascript // 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 ```javascript 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(); ``` ## Api Reference ##### create(config): Creates and returns a new Silo instance. ##### apiUrl (string): The endpoint to send logs to. ##### application (string): The application name. ##### console(log): Logs the entry to the console. ##### send(log): Sends the log to the specified API. ##### showConfig(): Displays the current instance configuration in the console. ##### showSiloArt(): Shows the Silo logo art in the console. ## License [ISC](https://choosealicense.com/licenses/isc/)