@wf-financing/logger
v2.1.0
Published
The `@wf-financing/logger` package provides a singleton logging utility. It allows logging business events and errors.
Downloads
294
Readme
Wayflyer Embedded Finance Logger
The @wf-financing/logger package provides a singleton logging utility. It allows logging business events and errors.
Usage
Before logging any events or errors, the Logger must be initialized. This usually happens at the entry point of your application.
The Logger utilizes a global singleton pattern to ensure the instance is shared across different bundles (e.g., between your main application and injected UI scripts).
import { Logger } from '@wf-financing/logger';
import { UiSdkOptions } from '@wf-financing/types';
const companyToken = 'your-company-token';
// Optional: Configure for Sandbox environment
const options: UiSdkOptions = { isSandbox: true };
// Initialize the singleton
Logger.initialize(companyToken, options);Note: The companyToken should be minted using the Company Token endpoint on the partner's backend. See the Authentication section here for more details.
Logging Events & Errors
Once initialized, you can import Logger anywhere in your application (or in separate bundles loaded on the same page) to log data.
import { Logger } from '@wf-financing/logger';
// Log a standard event
await Logger.logEvent('banner_viewed', {
user_id: 123,
});
// Log an error
try {
// ... some operation
} catch (err) {
await Logger.logError('failed_to_load_financing', {
error_message: err.message,
});
}Shared Scope
This package uses the global window scope to store the Logger instance window.WayflyerLogger. This ensures that if you are loading multiple bundles (e.g., a main SDK and a dynamic UI script), they all share the same Logger instance without needing to re-initialize or pass tokens manually.
