import { LogContext, Logger } from '@ably/chat'; import { jsonRpcBlocking } from './jsonrpc'; export class RpcLogger implements Logger { private readonly _instanceId: string; constructor(instanceId: string) { this._instanceId = instanceId; } trace(message: string, context?: LogContext): void { jsonRpcBlocking.request('Logger.trace', { refId: this._instanceId, args: { message, context, }, }); } debug(message: string, context?: LogContext): void { jsonRpcBlocking.request('Logger.debug', { refId: this._instanceId, args: { message, context, }, }); } info(message: string, context?: LogContext): void { jsonRpcBlocking.request('Logger.info', { refId: this._instanceId, args: { message, context, }, }); } warn(message: string, context?: LogContext): void { jsonRpcBlocking.request('Logger.warn', { refId: this._instanceId, args: { message, context, }, }); } error(message: string, context?: LogContext): void { jsonRpcBlocking.request('Logger.error', { refId: this._instanceId, args: { message, context, }, }); } }