From f0906066c572e60e989be09bcc7600bfb3f3f144 Mon Sep 17 00:00:00 2001 From: Pavel Date: Thu, 7 Jul 2022 12:52:32 +0300 Subject: [PATCH] Pass logging level to AVM (#158) --- src/index.ts | 3 ++- src/internal/FluencePeer.ts | 23 +++++++++++++---------- src/internal/utils.ts | 10 ++++++++++ 3 files changed, 25 insertions(+), 11 deletions(-) diff --git a/src/index.ts b/src/index.ts index 9d1e7eec..0153b8b8 100644 --- a/src/index.ts +++ b/src/index.ts @@ -20,7 +20,8 @@ import { FluencePeer, PeerConfig } from './internal/FluencePeer'; export { PeerStatus } from './internal/FluencePeer'; export { KeyPair } from './internal/KeyPair'; -export { FluencePeer, MarineLoglevel as AvmLoglevel, PeerConfig } from './internal/FluencePeer'; +export { FluencePeer, PeerConfig } from './internal/FluencePeer'; +export { MarineLoglevel as AvmLoglevel } from './internal/utils'; export { PeerIdB58, CallParams } from './internal/commonTypes'; export { loadWasmFromFileSystem, loadWasmFromNpmPackage, loadWasmFromServer } from '@fluencelabs/marine-js'; diff --git a/src/internal/FluencePeer.ts b/src/internal/FluencePeer.ts index 770ff6a1..14989f38 100644 --- a/src/internal/FluencePeer.ts +++ b/src/internal/FluencePeer.ts @@ -20,7 +20,7 @@ import { PeerIdB58 } from './commonTypes'; import { FluenceConnection } from './FluenceConnection'; import { Particle, ParticleExecutionStage, ParticleQueueItem } from './Particle'; import { KeyPair } from './KeyPair'; -import { throwIfNotSupported, dataToString, jsonify } from './utils'; +import { throwIfNotSupported, dataToString, jsonify, MarineLoglevel, marineLogLevelToEnvs } from './utils'; import { concatMap, filter, pipe, Subject, tap } from 'rxjs'; import log from 'loglevel'; import { builtInServices } from './builtins/common'; @@ -40,12 +40,6 @@ type Node = { multiaddr: string; }; -/** - * Enum representing the log level used in Aqua VM. - * Possible values: 'info', 'trace', 'debug', 'info', 'warn', 'error', 'off'; - */ -export type MarineLoglevel = LogLevel; - const DEFAULT_TTL = 7000; /** @@ -242,7 +236,12 @@ export class FluencePeer { ? await loadMarineAndAvm(config.marineJS.marineWasmPath, config.marineJS.avmWasmPath) : await loadDefaults(); await this._fluenceAppService.init(marineDeps.marine); - await this._fluenceAppService.createService(marineDeps.avm, 'avm'); + await this._fluenceAppService.createService( + marineDeps.avm, + 'avm', + undefined, + marineLogLevelToEnvs(this._marineLogLevel), + ); this._avmRunner = config?.avmRunner || new AVM(this._fluenceAppService); await this._avmRunner.init(config?.avmLogLevel || 'off'); @@ -309,8 +308,12 @@ export class FluencePeer { throw new Error(`Service with '${serviceId}' id already exists`); } - const envs = this._marineLogLevel ? { WASM_LOG: this._marineLogLevel } : undefined; - await this._fluenceAppService.createService(wasm, serviceId, undefined, envs); + await this._fluenceAppService.createService( + wasm, + serviceId, + undefined, + marineLogLevelToEnvs(this._marineLogLevel), + ); this._marineServices.add(serviceId); } diff --git a/src/internal/utils.ts b/src/internal/utils.ts index f0683b46..97474f7e 100644 --- a/src/internal/utils.ts +++ b/src/internal/utils.ts @@ -19,6 +19,7 @@ import platform from 'platform'; import { CallServiceData, CallServiceResult, CallServiceResultType, ResultCodes } from './commonTypes'; import { FluencePeer } from './FluencePeer'; +import { LogLevel } from '@fluencelabs/avm'; import { ParticleExecutionStage } from './Particle'; import Buffer from './Buffer'; @@ -162,3 +163,12 @@ export function throwIfNotSupported() { } } } + +/** + * Enum representing the log level used in Aqua VM. + * Possible values: 'info', 'trace', 'debug', 'info', 'warn', 'error', 'off'; + */ +export type MarineLoglevel = LogLevel; + +export const marineLogLevelToEnvs = (marineLogLevel: MarineLoglevel | undefined) => + marineLogLevel ? { WASM_LOG: marineLogLevel } : undefined;