microsoft/vscode-react-native

Public

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

CodeCommitsIssuesPull requestsActionsInsightsSecurity
0.1.3

Branches

Tags

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

Clone

HTTPS

Download ZIP

src/common/log/logHelper.ts

88lines · modeblame

17161993Meena 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/**
adaa8cc8Meena Kunnathur Balakrishnan10 years ago5* Helper for the log utility.
17161993Meena Kunnathur Balakrishnan10 years ago6*/
7
190e393cMeena Kunnathur Balakrishnan10 years ago8import * as util from "util";
adaa8cc8Meena Kunnathur Balakrishnan10 years ago9import {InternalError, InternalErrorLevel} from "../error/internalError";
17161993Meena Kunnathur Balakrishnan10 years ago10
11export enum LogLevel {
12None = 0,
13Error = 1,
14Warning = 2,
15Info = 3,
16Debug = 4,
17Trace = 5
18}
19
20export class LogHelper {
21public static MESSAGE_TAG: string = "[vscode-react-native]";
22public static INTERNAL_TAG: string = "[Internal]";
adaa8cc8Meena Kunnathur Balakrishnan10 years ago23public static ERROR_TAG_FORMATSTRING: string = "[Error : %s] ";
190e393cMeena Kunnathur Balakrishnan10 years ago24public static WARN_TAG: string = "[Warning]";
25private static ERROR_CODE_WIDTH: string = "0000";
adaa8cc8Meena Kunnathur Balakrishnan10 years ago26private static LOG_LEVEL_NAME: string = "RN_LOG_LEVEL";
17161993Meena Kunnathur Balakrishnan10 years ago27
a289475bMeena Kunnathur Balakrishnan10 years ago28public static get logLevel(): LogLevel {
29let valName: string = process.env[LogHelper.LOG_LEVEL_NAME];
f29c7bfeMeena Kunnathur Balakrishnan10 years ago30
31if (typeof(valName) === "undefined") {
09c00558digeff10 years ago32valName = "None"; // Set the default LogLevel to LogLevel.None
f29c7bfeMeena Kunnathur Balakrishnan10 years ago33}
34
a289475bMeena Kunnathur Balakrishnan10 years ago35return (<any> LogLevel)[valName];
36}
37
38public static set logLevel(level: LogLevel) {
39if (!level) {
40return;
41}
42
43// Set the process env value
44process.env[LogHelper.LOG_LEVEL_NAME] = LogLevel[level];
45}
46
17161993Meena Kunnathur Balakrishnan10 years ago47/**
48* Gets the message of a non null error, if any. Otherwise it returns the empty string.
49*/
898cb3c6Meena Kunnathur Balakrishnan10 years ago50public static getErrorString(e: any): string {
190e393cMeena Kunnathur Balakrishnan10 years ago51
adaa8cc8Meena Kunnathur Balakrishnan10 years ago52if (e.isInternalError) {
190e393cMeena Kunnathur Balakrishnan10 years ago53let errorMessage = e.message;
adaa8cc8Meena Kunnathur Balakrishnan10 years ago54let errorMessagePrefix = LogHelper.getErrorMessagePrefix(e);
898cb3c6Meena Kunnathur Balakrishnan10 years ago55return errorMessagePrefix + " " + errorMessage;
190e393cMeena Kunnathur Balakrishnan10 years ago56} else {
bf6ca504Meena Kunnathur Balakrishnan10 years ago57let message = e.message || e.error && e.error.message;
58if (!message) {
59try {
60return JSON.stringify(e);
61} catch (exception) {
62// This is a best-effort feature, so we ignore any exceptions. If possible we'll print the error stringified.
63// If not, we'll just use one of the fallbacks
64return e.error || e.toString() || "";
65}
66} else {
67return message;
190e393cMeena Kunnathur Balakrishnan10 years ago68}
69}
70}
adaa8cc8Meena Kunnathur Balakrishnan10 years ago71
72private static getErrorMessagePrefix(error: InternalError) {
73if (!error) {
74return "";
75}
76
77switch (error.errorLevel) {
c6d7ee27dlebu10 years ago78case InternalErrorLevel.Error:
adaa8cc8Meena Kunnathur Balakrishnan10 years ago79// Encode the error code to a four-char code - ex, 0198
80let errorCodeString = (LogHelper.ERROR_CODE_WIDTH + error.errorCode).slice(-LogHelper.ERROR_CODE_WIDTH.length);
81return util.format(LogHelper.ERROR_TAG_FORMATSTRING, errorCodeString);
82case InternalErrorLevel.Warning:
c6d7ee27dlebu10 years ago83return `${LogHelper.WARN_TAG}`;
adaa8cc8Meena Kunnathur Balakrishnan10 years ago84default:
c6d7ee27dlebu10 years ago85return `${LogHelper.WARN_TAG}`;
adaa8cc8Meena Kunnathur Balakrishnan10 years ago86}
87}
17161993Meena Kunnathur Balakrishnan10 years ago88}