Skip to main content

API Reference

All methods are available on the default export from @rilog-development/rilog-lib.

import rilog from '@rilog-development/rilog-lib';

rilog.init({ key, config? })

Initialises the library and starts all automatic interceptors. Must be called once, as early as possible in your application lifecycle.

Parameters

ParameterTypeRequiredDescription
keystringApp Key from the Rilog dashboard
configTRilogInitConfigAdditional settings (see Configuration)

Returns: void

rilog.init({
key: 'YOUR_APP_KEY',
config: {
ignoredRequests: ['/api/health'],
disableClickInterceptor: false,
},
});

rilog.interceptRequestAxios(request)

Called inside an axios request interceptor. Pass the axios request config object.

Parameters

ParameterTypeRequiredDescription
requestInternalAxiosRequestConfigAxios request config object

Returns: void

import axios from 'axios';
import rilog from '@rilog-development/rilog-lib';

axios.interceptors.request.use((request) => {
rilog.interceptRequestAxios(request);
return request;
});

rilog.interceptResponseAxios(response)

Called in both the success and error handlers of an axios response interceptor.

Parameters

ParameterTypeRequiredDescription
responseAxiosResponse | AxiosErrorAxios response or error object

Returns: void

axios.interceptors.response.use(
(response) => {
rilog.interceptResponseAxios(response);
return response;
},
(error) => {
rilog.interceptResponseAxios(error);
return Promise.reject(error);
}
);

rilog.logData(data, { label })

Manually log a custom debug message. Automatically captures a stack trace from the call site (source maps improve readability).

Parameters

ParameterTypeRequiredDescription
dataanyAny value; objects are serialised automatically
labelstringLabel for filtering events in the dashboard

Returns: void

rilog.logData(
{ userId: 'usr_456', step: 'checkout', total: 149.99 },
{ label: 'purchase-flow' }
);

TypeScript types

interface TRilogInitConfig {
ignoredRequests?: string[];
sensetiveRequsts?: string[];
sensetiveDataRequests?: string[];
headers?: string[];
localStorage?: string[];
disableFetchInterceptor?: boolean;
disableClickInterceptor?: boolean;
disableConsoleInterceptor?: boolean;
selfServer?: ISelfServer;
onPushEvent?: (event: unknown) => void;
onSaveEvents?: (events: unknown[]) => void;
}

interface ISelfServer {
url: string;
headers?: Record<string, string>;
}