提交 9f22d84b 编写于 作者: S Sandeep Somavarapu

Identify current and default log levels in the log level picker

上级 652077a7
......@@ -23,6 +23,8 @@ export enum LogLevel {
Off
}
export const DEFAULT_LOG_LEVEL: LogLevel = LogLevel.Info;
export interface ILogService extends IDisposable {
_serviceBrand: any;
onDidChangeLogLevel: Event<LogLevel>;
......@@ -39,7 +41,7 @@ export interface ILogService extends IDisposable {
export abstract class AbstractLogService extends Disposable {
private level: LogLevel = LogLevel.Error;
private level: LogLevel = DEFAULT_LOG_LEVEL;
private readonly _onDidChangeLogLevel: Emitter<LogLevel> = this._register(new Emitter<LogLevel>());
readonly onDidChangeLogLevel: Event<LogLevel> = this._onDidChangeLogLevel.event;
......@@ -60,7 +62,7 @@ export class ConsoleLogMainService extends AbstractLogService implements ILogSer
_serviceBrand: any;
private useColors: boolean;
constructor(logLevel: LogLevel = LogLevel.Error) {
constructor(logLevel: LogLevel = DEFAULT_LOG_LEVEL) {
super();
this.setLevel(logLevel);
this.useColors = !isWindows;
......@@ -135,7 +137,7 @@ export class ConsoleLogService extends AbstractLogService implements ILogService
_serviceBrand: any;
constructor(logLevel: LogLevel = LogLevel.Error) {
constructor(logLevel: LogLevel = DEFAULT_LOG_LEVEL) {
super();
this.setLevel(logLevel);
}
......@@ -322,5 +324,5 @@ export function getLogLevel(environmentService: IEnvironmentService): LogLevel {
return LogLevel.Off;
}
}
return LogLevel.Info;
return DEFAULT_LOG_LEVEL;
}
\ No newline at end of file
......@@ -10,7 +10,7 @@ import { IEnvironmentService } from 'vs/platform/environment/common/environment'
import { IWindowsService, IWindowService } from 'vs/platform/windows/common/windows';
import { TPromise } from 'vs/base/common/winjs.base';
import { IQuickOpenService, IPickOpenEntry } from 'vs/platform/quickOpen/common/quickOpen';
import { ILogService, LogLevel } from 'vs/platform/log/common/log';
import { ILogService, LogLevel, DEFAULT_LOG_LEVEL } from 'vs/platform/log/common/log';
import { IOutputService, COMMAND_OPEN_LOG_VIEWER } from 'vs/workbench/parts/output/common/output';
import * as Constants from 'vs/workbench/parts/logs/common/logConstants';
import { ICommandService } from 'vs/platform/commands/common/commands';
......@@ -108,14 +108,15 @@ export class SetLogLevelAction extends Action {
}
run(): TPromise<void> {
const current = this.logService.getLevel();
const entries = [
{ label: nls.localize('trace', "Trace"), level: LogLevel.Trace },
{ label: nls.localize('debug', "Debug"), level: LogLevel.Debug },
{ label: nls.localize('info', "Info"), level: LogLevel.Info },
{ label: nls.localize('warn', "Warning"), level: LogLevel.Warning },
{ label: nls.localize('err', "Error"), level: LogLevel.Error },
{ label: nls.localize('critical', "Critical"), level: LogLevel.Critical },
{ label: nls.localize('off', "Off"), level: LogLevel.Off }
{ label: nls.localize('trace', "Trace"), level: LogLevel.Trace, description: this.getDescription(LogLevel.Trace, current) },
{ label: nls.localize('debug', "Debug"), level: LogLevel.Debug, description: this.getDescription(LogLevel.Debug, current) },
{ label: nls.localize('info', "Info"), level: LogLevel.Info, description: this.getDescription(LogLevel.Info, current) },
{ label: nls.localize('warn', "Warning"), level: LogLevel.Warning, description: this.getDescription(LogLevel.Warning, current) },
{ label: nls.localize('err', "Error"), level: LogLevel.Error, description: this.getDescription(LogLevel.Error, current) },
{ label: nls.localize('critical', "Critical"), level: LogLevel.Critical, description: this.getDescription(LogLevel.Critical, current) },
{ label: nls.localize('off', "Off"), level: LogLevel.Off, description: this.getDescription(LogLevel.Off, current) },
];
return this.quickOpenService.pick(entries, { placeHolder: nls.localize('selectLogLevel', "Select log level"), autoFocus: { autoFocusIndex: this.logService.getLevel() } }).then(entry => {
......@@ -124,4 +125,17 @@ export class SetLogLevelAction extends Action {
}
});
}
private getDescription(level: LogLevel, current: LogLevel): string {
if (DEFAULT_LOG_LEVEL === level && current === level) {
return nls.localize('default and current', "Default & Current");
}
if (DEFAULT_LOG_LEVEL === level) {
return nls.localize('default', "Default");
}
if (current === level) {
return nls.localize('current', "Current");
}
return void 0;
}
}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册