diff --git a/src/nni_manager/common/log.ts b/src/nni_manager/common/log.ts index e2ca62f9c6..275fb76ffe 100644 --- a/src/nni_manager/common/log.ts +++ b/src/nni_manager/common/log.ts @@ -155,11 +155,7 @@ class Logger { } } -function getLogger(fileName?: string): Logger { - component.Container.bind(Logger).provider({ - get: (): Logger => new Logger(fileName) - }); - +function getLogger(): Logger { return component.get(Logger); } diff --git a/src/nni_manager/main.ts b/src/nni_manager/main.ts index fec5a8819e..758694be32 100644 --- a/src/nni_manager/main.ts +++ b/src/nni_manager/main.ts @@ -49,7 +49,7 @@ function initStartupInfo( setExperimentStartupInfo(createNew, expId, basePort, logDirectory, experimentLogLevel, readonly); } -async function initContainer(platformMode: string): Promise { +async function initContainer(platformMode: string, logFileName?: string): Promise { if (platformMode === 'local') { Container.bind(TrainingService) .to(LocalTrainingService) @@ -82,6 +82,9 @@ async function initContainer(platformMode: string): Promise { Container.bind(DataStore) .to(NNIDataStore) .scope(Scope.Singleton); + Container.bind(Logger).provider({ + get: (): Logger => new Logger(logFileName) + }); const ds: DataStore = component.get(DataStore); await ds.init(); @@ -145,13 +148,14 @@ initStartupInfo(startMode, experimentId, port, logDir, logLevel, readonly); mkDirP(getLogDir()) .then(async () => { - const log: Logger = getLogger(); try { await initContainer(mode); const restServer: NNIRestServer = component.get(NNIRestServer); await restServer.start(); + const log: Logger = getLogger(); log.info(`Rest server listening on: ${restServer.endPoint}`); } catch (err) { + const log: Logger = getLogger(); log.error(`${err.stack}`); throw err; }