diff --git a/src/api-client/base-client.ts b/src/api-client/base-client.ts index fa06baa0..79ababe7 100644 --- a/src/api-client/base-client.ts +++ b/src/api-client/base-client.ts @@ -33,10 +33,17 @@ export const GENERIC_ERROR_MESSAGE = 'This error has been automatically tracked. Please try again.'; export class BaseClient { - protected apiUrl: string = ''; + private _apiUrl: string = ''; protected token: string = ''; protected client: Client | undefined = undefined; + protected get apiUrl(): string { + return this._apiUrl; + } + protected set apiUrl(url: string) { + this._apiUrl = url.replace(/\/$/, ''); + } + /** * Make an HTTP request to the Galileo API and return the raw Axios response. */ diff --git a/src/wrappers.ts b/src/wrappers.ts index a5d2957c..729440bb 100644 --- a/src/wrappers.ts +++ b/src/wrappers.ts @@ -245,25 +245,11 @@ export function log( // set via experimentContext.run() or init(). If no context exists, use getClient() to // retrieve the last logger configured during the ongoing workflow. const exp = experimentContext.getStore(); - const logStore = loggerContext.getStore(); - - // Priority: logStore (loggerContext) > exp (experimentContext) > getClient() - const hasLogStoreData = - logStore && - (logStore.logStreamName || - logStore.sessionId || - (logStore.parentStack && logStore.parentStack.length > 0)); + const hasExpData = exp && (exp.projectName || exp.experimentId || exp.logStreamName); - if (hasLogStoreData) { - // Use loggerContext data if available - logger = GalileoSingleton.getInstance().getLogger({ - projectName: exp?.projectName, - experimentId: exp?.experimentId, - logstream: logStore?.logStreamName ?? exp?.logStreamName - }); - } else if (hasExpData) { + if (hasExpData) { // Use experimentContext data if available logger = GalileoSingleton.getInstance().getLogger({ projectName: exp?.projectName,