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.
Install the SDK via npm:
npm install dopple-sdk
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' });
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');
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.
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)
}
The DoppleClientConfig
interface defines the configuration for DoppleClient
.
export interface DoppleClientConfig {
appId: string; // Your APP ID
baseUrl?: string; // Optional base URL for the API
}
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.
This project is licensed under the MIT License. See the LICENSE file for details.