Log
Public surface (log):
setMode · isEnabled · liveMode · practiceMode ·
getSdkLogs · searchSdkLogs · debug · info · warn · error
type SDKLogLevel = 'debug' | 'info' | 'warn' | 'error'type SDKLogDomain = | 'analytics' | 'congresses' | 'contacts' | 'crm' | 'data' | 'database' | 'device' | 'http' | 'localforage' | 'log' | 'network' | 'permissions' | 'presentation' | 'scanner' | 'search' | 'session' | 'share' | 'storage' | 'ui' | 'user' | 'sdk'
interface SDKLogEntry { id: number timestamp: string // ISO 8601 level: SDKLogLevel domain: SDKLogDomain function: string | null message: string durationMs: number | null retryCount: number | null metadata: Record<string, unknown> | null}
interface SDKLogFilter { level?: SDKLogLevel domain?: SDKLogDomain function?: string since?: string until?: string retriesOnly?: boolean limit?: number // default 100}Debug mode
Section titled “Debug mode”setMode(enabled: boolean): voidisEnabled(): booleanimport mobilelocker from '@mobilelocker/javascript-sdk'
mobilelocker.log.setMode(true)console.log(mobilelocker.log.isEnabled()) // trueLive vs practice session
Section titled “Live vs practice session”liveMode(uri?: string): void // default uri ''practiceMode(uri?: string): voidEmits analytics events (session_live_mode activate / deactivate).
mobilelocker.log.liveMode()mobilelocker.log.practiceMode('/practice')Write logs
Section titled “Write logs”debug(message: string, metadata?: Record<string, unknown>): voidinfo(message: string, metadata?: Record<string, unknown>): voidwarn(message: string, metadata?: Record<string, unknown>): voiderror(message: string, metadata?: Record<string, unknown>): voidmobilelocker.log.info('User selected product', { productId: 42, slide: 'overview' })mobilelocker.log.error('CRM failed', { code: 'crm_auth_expired' })Inside Mobile Locker, entries post to the host. Outside, they buffer in IndexedDB (up to 1000 entries).
Read / search logs
Section titled “Read / search logs”getSdkLogs(filter?: SDKLogFilter): Promise<SDKLogEntry[]>searchSdkLogs(text: string, filter?: SDKLogFilter): Promise<SDKLogEntry[]>const errors = await mobilelocker.log.getSdkLogs({ level: 'error', domain: 'crm' })const hits = await mobilelocker.log.searchSdkLogs('timeout', { limit: 50 })API reference
Section titled “API reference”- Module:
log - Types:
SDKLogEntry,SDKLogFilter