microsoft/vscode-react-native

Public

mirrored from https://github.com/microsoft/vscode-react-nativeAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
0.3.2

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

src/extension/outputChannelLogger.ts

96lines · modeblame

e8771a03Meena Kunnathur Balakrishnan10 years ago1// Copyright (c) Microsoft Corporation. All rights reserved.
2// Licensed under the MIT license. See LICENSE file in the project root for details.
3
4/**
5* Formatter for the Output channel.
6*/
7
8import {ILogger} from "../common/log/loggers";
f29c7bfeMeena Kunnathur Balakrishnan10 years ago9import {LogHelper, LogLevel} from "../common/log/logHelper";
5bc682d4Alexander Sorokin9 years ago10import {SettingsHelper} from "./settingsHelper";
e8771a03Meena Kunnathur Balakrishnan10 years ago11import {OutputChannel} from "vscode";
3837f9a0Jimmy Thomson9 years ago12import * as vscode from "vscode";
13
14export class DelayedOutputChannelLogger implements ILogger {
15private outputChannelLogger: OutputChannelLogger;
16
17constructor(private channelName: string) {}
18
19public logInternalMessage(logLevel: LogLevel, message: string) {
20this.logger.logInternalMessage(logLevel, message);
21}
22
23public logMessage(message: string, formatMessage: boolean = true ) {
24this.logger.logMessage(message, formatMessage);
25}
26
27public logError(errorMessage: string, error?: any, logStack: boolean = true) {
28this.logger.logError(errorMessage, error, logStack);
29}
30
31public logStreamData(data: Buffer, stream: NodeJS.WritableStream) {
32this.logger.logStreamData(data, stream);
33}
34
831f4a85Patricio Beltran9 years ago35public logString(data: string) {
36this.logger.logString(data);
37}
38
3837f9a0Jimmy Thomson9 years ago39public setFocusOnLogChannel() {
40this.logger.setFocusOnLogChannel();
41}
42
43private get logger(): OutputChannelLogger {
44if (!this.outputChannelLogger) {
45this.outputChannelLogger = new OutputChannelLogger(vscode.window.createOutputChannel(this.channelName));
46}
47return this.outputChannelLogger;
48}
49}
e8771a03Meena Kunnathur Balakrishnan10 years ago50
51export class OutputChannelLogger implements ILogger {
52private outputChannel: OutputChannel;
53
54constructor(outputChannel: OutputChannel) {
55this.outputChannel = outputChannel;
cf138e34Meena Kunnathur Balakrishnan10 years ago56this.outputChannel.show();
e8771a03Meena Kunnathur Balakrishnan10 years ago57}
58
f29c7bfeMeena Kunnathur Balakrishnan10 years ago59public logInternalMessage(logLevel: LogLevel, message: string) {
5bc682d4Alexander Sorokin9 years ago60if (SettingsHelper.getShowInternalLogs()) {
61this.logMessage(this.getFormattedInternalMessage(logLevel, message));
62return;
63}
f29c7bfeMeena Kunnathur Balakrishnan10 years ago64console.log(this.getFormattedInternalMessage(logLevel, message));
65}
66
e8771a03Meena Kunnathur Balakrishnan10 years ago67public logMessage(message: string, formatMessage: boolean = true ) {
68this.outputChannel.appendLine(formatMessage ?
69this.getFormattedMessage(message) :
70message);
71}
72
73public logError(errorMessage: string, error?: any, logStack: boolean = true) {
74this.logMessage(errorMessage, /* formatMessage */ false);
75}
76
99e41548Meena Kunnathur Balakrishnan10 years ago77public logStreamData(data: Buffer, stream: NodeJS.WritableStream) {
78this.outputChannel.append(data.toString());
79}
80
831f4a85Patricio Beltran9 years ago81public logString(data: string) {
82this.outputChannel.append(data);
83}
84
f1e34747Meena Kunnathur Balakrishnan10 years ago85public setFocusOnLogChannel() {
cf138e34Meena Kunnathur Balakrishnan10 years ago86this.outputChannel.show();
87}
88
e8771a03Meena Kunnathur Balakrishnan10 years ago89private getFormattedMessage(message: string) {
90return `######### ${message} ##########`;
91}
f29c7bfeMeena Kunnathur Balakrishnan10 years ago92
93private getFormattedInternalMessage(logLevel: LogLevel, message: string) {
bf6ca504Meena Kunnathur Balakrishnan10 years ago94return (`${LogHelper.INTERNAL_TAG} [${LogLevel[logLevel]}] ${message}`);
f29c7bfeMeena Kunnathur Balakrishnan10 years ago95}
e8771a03Meena Kunnathur Balakrishnan10 years ago96}