UNPKG

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