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);
}
}
}
}