igniteui-angular-sovn
Version:
Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps
55 lines (44 loc) • 1.27 kB
text/typescript
import * as ts from 'typescript/lib/tsserverlibrary';
export class Logger implements ts.server.Logger {
constructor(
private readonly traceToConsole: boolean,
private readonly level: ts.server.LogLevel
) { }
public hasLevel(level: ts.server.LogLevel) {
return this.loggingEnabled() && this.level >= level;
}
public loggingEnabled() {
return this.traceToConsole;
}
public perftrc(s: string) {
this.msg(s, ts.server.Msg.Perf);
}
public info(s: string) {
this.msg(s, ts.server.Msg.Info);
}
public msg(s: string, type: ts.server.Msg = ts.server.Msg.Err) {
if (!this.traceToConsole) {
return;
}
if (type === ts.server.Msg.Info) {
console.log(s);
}
if (type === ts.server.Msg.Err) {
console.error(s);
}
if (type === ts.server.Msg.Perf) {
console.warn(s);
}
}
//#region Not implemented
/* These methods are used to log to a file,
we will only use the logger to log on the console.
*/
public close() { }
public startGroup() { }
public endGroup() { }
public getLogFileName() {
return null;
}
//#endregion
}