/* eslint-disable @typescript-eslint/no-explicit-any */ import { ContentsquareModule } from '../nativeModules'; import { LogLevels, logWithPrefix } from './logUtils'; export enum LogMonitorLevel { WARN = 0, ERROR = 1, } export const monitorLog = async ( level: LogMonitorLevel, description: string, ...args: any[] ): Promise => { try { switch (level) { case LogMonitorLevel.WARN: ContentsquareModule.monitorWarn({ description, args }); logWithPrefix( LogLevels.INFO, `Success reporting warning to native module log monitoring.`, ...args ); break; case LogMonitorLevel.ERROR: ContentsquareModule.monitorError({ description, args }); logWithPrefix( LogLevels.INFO, `Success reporting error to native module log monitoring.`, ...args ); break; default: logWithPrefix( LogLevels.WARN, `Unknown log level for log monitoring provided.`, ...args ); } } catch (e: unknown) { logWithPrefix( LogLevels.ERROR, `Failed to report ${level} to native module log monitoring: ${ e instanceof Error ? e.message : 'Unknown error occurred' }.`, ...args ); } };