public async setup()

in adapter/src/internalLogger.ts [53:80]


	public async setup(options: IInternalLoggerOptions): Promise<void> {
		this._minLogLevel = options.consoleMinLogLevel;
		this._prependTimestamp = options.prependTimestamp;

		// Open a log file in the specified location. Overwritten on each run.
		if (options.logFilePath) {
			if (!path.isAbsolute(options.logFilePath)) {
				this.log(`logFilePath must be an absolute path: ${options.logFilePath}`, LogLevel.Error);
			} else {
				const handleError = err => this.sendLog(`Error creating log file at path: ${options.logFilePath}. Error: ${err.toString()}\n`, LogLevel.Error);

				try {
					await mkdirp(path.dirname(options.logFilePath));
					this.log(`Verbose logs are written to:\n`, LogLevel.Warn);
					this.log(options.logFilePath + '\n', LogLevel.Warn);

					this._logFileStream = fs.createWriteStream(options.logFilePath);
					this.logDateTime();
					this.setupShutdownListeners();
					this._logFileStream.on('error', err => {
						handleError(err);
					});
				} catch (err) {
					handleError(err);
				}
			}
		}
	}