UNPKG

3.7 kBJavaScriptView Raw
1"use strict";
2/*
3 * Copyright (c) Microsoft Corporation. All rights reserved.
4 * Licensed under the MIT License.
5 */
6Object.defineProperty(exports, "__esModule", { value: true });
7exports.Logger = exports.LogLevel = void 0;
8var StringUtils_1 = require("./utils/StringUtils");
9var packageMetadata_1 = require("./packageMetadata");
10var LogLevel;
11(function (LogLevel) {
12 LogLevel[LogLevel["Error"] = 0] = "Error";
13 LogLevel[LogLevel["Warning"] = 1] = "Warning";
14 LogLevel[LogLevel["Info"] = 2] = "Info";
15 LogLevel[LogLevel["Verbose"] = 3] = "Verbose";
16})(LogLevel = exports.LogLevel || (exports.LogLevel = {}));
17var Logger = /** @class */ (function () {
18 function Logger(localCallback, options) {
19 if (options === void 0) { options = {}; }
20 /**
21 * @hidden
22 */
23 this.level = LogLevel.Info;
24 var _a = options.correlationId, correlationId = _a === void 0 ? "" : _a, _b = options.level, level = _b === void 0 ? LogLevel.Info : _b, _c = options.piiLoggingEnabled, piiLoggingEnabled = _c === void 0 ? false : _c;
25 this.localCallback = localCallback;
26 this.correlationId = correlationId;
27 this.level = level;
28 this.piiLoggingEnabled = piiLoggingEnabled;
29 }
30 /**
31 * @hidden
32 */
33 Logger.prototype.logMessage = function (logLevel, logMessage, containsPii) {
34 if ((logLevel > this.level) || (!this.piiLoggingEnabled && containsPii)) {
35 return;
36 }
37 var timestamp = new Date().toUTCString();
38 var log;
39 if (!StringUtils_1.StringUtils.isEmpty(this.correlationId)) {
40 log = timestamp + ":" + this.correlationId + "-" + packageMetadata_1.version + "-" + LogLevel[logLevel] + (containsPii ? "-pii" : "") + " " + logMessage;
41 }
42 else {
43 log = timestamp + ":" + packageMetadata_1.version + "-" + LogLevel[logLevel] + (containsPii ? "-pii" : "") + " " + logMessage;
44 }
45 this.executeCallback(logLevel, log, containsPii);
46 };
47 /**
48 * @hidden
49 */
50 Logger.prototype.executeCallback = function (level, message, containsPii) {
51 if (this.localCallback) {
52 this.localCallback(level, message, containsPii);
53 }
54 };
55 /**
56 * @hidden
57 */
58 Logger.prototype.error = function (message) {
59 this.logMessage(LogLevel.Error, message, false);
60 };
61 /**
62 * @hidden
63 */
64 Logger.prototype.errorPii = function (message) {
65 this.logMessage(LogLevel.Error, message, true);
66 };
67 /**
68 * @hidden
69 */
70 Logger.prototype.warning = function (message) {
71 this.logMessage(LogLevel.Warning, message, false);
72 };
73 /**
74 * @hidden
75 */
76 Logger.prototype.warningPii = function (message) {
77 this.logMessage(LogLevel.Warning, message, true);
78 };
79 /**
80 * @hidden
81 */
82 Logger.prototype.info = function (message) {
83 this.logMessage(LogLevel.Info, message, false);
84 };
85 /**
86 * @hidden
87 */
88 Logger.prototype.infoPii = function (message) {
89 this.logMessage(LogLevel.Info, message, true);
90 };
91 /**
92 * @hidden
93 */
94 Logger.prototype.verbose = function (message) {
95 this.logMessage(LogLevel.Verbose, message, false);
96 };
97 /**
98 * @hidden
99 */
100 Logger.prototype.verbosePii = function (message) {
101 this.logMessage(LogLevel.Verbose, message, true);
102 };
103 Logger.prototype.isPiiLoggingEnabled = function () {
104 return this.piiLoggingEnabled;
105 };
106 return Logger;
107}());
108exports.Logger = Logger;
109//# sourceMappingURL=Logger.js.map
\No newline at end of file