dopple-sdk
v0.2.0
Published
Dopple Typescript Sdk
Readme
Dopple SDK
The Dopple SDK is a TypeScript library designed to facilitate interaction with the Dopple API. It allows you to log events to Dopple with ease, providing type safety and a straightforward API.
Table of Contents
Installation
Install the SDK via npm:
npm install dopple-sdkUsage
Initialization
To use the Dopple SDK, you need to initialize the DoppleClient with your APP ID.
import { DoppleClient } from 'dopple-sdk';
const doppler = new DoppleClient({ appId: 'YOUR_APP_ID' });Logging Events
Once the client is initialized, you can log events by calling the logEvent method.
import { DoppleClient } from './dist';
const doppler = new DoppleClient({ appId: 'YOUR_APP_ID' });
doppler.log('This is an info message');
doppler.info('This is an info message');
doppler.debug('This is a debug message');
doppler.error('This is an error message');
doppler.fatal('This is a fatal message');API
DoppleClient
constructor(config: DoppleClientConfig)
Creates a new instance of DoppleClient.
config(DoppleClientConfig): The configuration object.appId(string): Your APP ID.baseUrl(string, optional): The base URL for the API. Defaults to'https://laas-api.up.railway.app/v1'.
info(text: string, additionalData?: any): void
Logs an info level event.
text(string): The text to log.additionalData(any, optional): Any additional data to include in the log.
debug(text: string, additionalData?: any): void
Logs a debug level event.
text(string): The text to log.additionalData(any, optional): Any additional data to include in the log.
error(text: string, additionalData?: any): void
Logs an error level event.
text(string): The text to log.additionalData(any, optional): Any additional data to include in the log.
fatal(text: string, additionalData?: any): void
Logs a fatal level event.
text(string): The text to log.additionalData(any, optional): Any additional data to include in the log.
logEvent(event: LogEvent): Promise<void>
Logs an event to Dopple.
event(LogEvent): The event object to log.
LogEvent
The LogEvent interface defines the structure of a log event.
export interface LogEvent {
text: string; // The text to log
level: 'info' | 'warn' | 'error'; // The level of the log
context?: Record<string, any>; // JSON string of custom fields that are not or cannot go in the message and provide more context about the event
tags?: string[]; // Array of strings to provide more fine-tuned indexing
ip?: string; // Remote IP Address of the machine (optional but the API will attempt to resolve an ip address for each request)
}Configuration
The DoppleClientConfig interface defines the configuration for DoppleClient.
export interface DoppleClientConfig {
appId: string; // Your APP ID
baseUrl?: string; // Optional base URL for the API
}Contributing
Contributions are welcome! Please follow these steps to contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch). - Make your changes.
- Commit your changes (
git commit -m 'Add some feature'). - Push to the branch (
git push origin feature-branch). - Open a pull request.
License
This project is licensed under the MIT License. See the LICENSE file for details.
