diff --git a/src/harness/harnessLanguageService.ts b/src/harness/harnessLanguageService.ts index 202a167f089..55b3464a384 100644 --- a/src/harness/harnessLanguageService.ts +++ b/src/harness/harnessLanguageService.ts @@ -532,7 +532,7 @@ module Harness.LanguageService { return true; } - verbose() { + isVerbose() { return false; } diff --git a/src/server/editorServices.ts b/src/server/editorServices.ts index 3cb66fed297..970286f29fa 100644 --- a/src/server/editorServices.ts +++ b/src/server/editorServices.ts @@ -5,7 +5,7 @@ module ts.server { export interface Logger { close(): void; - verbose(): boolean; + isVerbose(): boolean; enabled(): boolean; perftrc(s: string): void; info(s: string): void; diff --git a/src/server/server.ts b/src/server/server.ts index e5cc0fd398d..1735a2dddec 100644 --- a/src/server/server.ts +++ b/src/server/server.ts @@ -55,7 +55,7 @@ module ts.server { return !!this.logFilename; } - verbose() { + isVerbose() { return this.enabled() && (this.level == "verbose"); } @@ -191,15 +191,15 @@ module ts.server { } } - interface LogEnv { + interface LogOptions { file?: string; - level?: string; + detailLevel?: string; } - function parseLogEnv(logEnvStr: string): LogEnv { - var logEnv: LogEnv = {}; + function parseLogEnv(logEnvStr: string): LogOptions { + var logEnv: LogOptions = {}; var args = logEnvStr.split(' '); - for (var i = 0, len = args.length; i < len; i++) { + for (var i = 0, len = args.length; i < (len - 1); i += 2) { var option = args[i]; var value = args[i + 1]; if (option && value) { @@ -208,7 +208,7 @@ module ts.server { logEnv.file = value; break; case "-level": - logEnv.level = value; + logEnv.detailLevel = value; break; } } @@ -219,7 +219,7 @@ module ts.server { // TSS_LOG "{ level: "normal | verbose | terse", file?: string}" function createLoggerFromEnv() { var fileName: string = undefined; - var level = "normal"; + var detailLevel = "normal"; var logEnvStr = process.env["TSS_LOG"]; if (logEnvStr) { var logEnv = parseLogEnv(logEnvStr); @@ -229,12 +229,11 @@ module ts.server { else { fileName = __dirname + "/.log" + process.pid.toString(); } - if (logEnv.level) { - level = logEnv.level; + if (logEnv.detailLevel) { + detailLevel = logEnv.detailLevel; } } - var logger = new Logger(fileName, level); - return logger; + return new Logger(fileName, detailLevel); } // This places log file in the directory containing editorServices.js // TODO: check that this location is writable diff --git a/src/server/session.ts b/src/server/session.ts index 59a049a18e9..ee828642830 100644 --- a/src/server/session.ts +++ b/src/server/session.ts @@ -145,8 +145,8 @@ module ts.server { send(msg: NodeJS._debugger.Message) { var json = JSON.stringify(msg); - if (this.logger.verbose()) { - this.logger.info(msg.type+": " + json); + if (this.logger.isVerbose()) { + this.logger.info(msg.type + ": " + json); } this.sendLineToClient('Content-Length: ' + (1 + Buffer.byteLength(json, 'utf8')) + '\r\n\r\n' + json); @@ -720,7 +720,7 @@ module ts.server { } onMessage(message: string) { - if (this.logger.verbose()) { + if (this.logger.isVerbose()) { this.logger.info("request: " + message); var start = process.hrtime(); } @@ -829,14 +829,16 @@ module ts.server { } } - if (this.logger.verbose()) { + if (this.logger.isVerbose()) { var elapsed = process.hrtime(start); - var elapsedms = ((1e9 * elapsed[0]) + elapsed[1])/1000000.0; + var seconds = elapsed[0] + var nanoseconds = elapsed[1]; + var elapsedMs = ((1e9 * seconds) + nanoseconds)/1000000.0; var leader = "Elapsed time (in milliseconds)"; if (!responseRequired) { leader = "Async elapsed time (in milliseconds)"; } - this.logger.msg(leader+": " + elapsedms.toFixed(4).toString(), "Perf"); + this.logger.msg(leader + ": " + elapsedMs.toFixed(4).toString(), "Perf"); } if (response) { this.output(response, request.command, request.seq);