1 |
|
2 |
|
3 |
|
4 |
|
5 | import { StringUtils } from "./utils/StringUtils";
|
6 | import { version as libraryVersion } from "./packageMetadata";
|
7 | export 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 = {}));
|
14 | var Logger = (function () {
|
15 | function Logger(localCallback, options) {
|
16 | if (options === void 0) { options = {}; }
|
17 | |
18 |
|
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 |
|
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 |
|
46 |
|
47 | Logger.prototype.executeCallback = function (level, message, containsPii) {
|
48 | if (this.localCallback) {
|
49 | this.localCallback(level, message, containsPii);
|
50 | }
|
51 | };
|
52 | |
53 |
|
54 |
|
55 | Logger.prototype.error = function (message) {
|
56 | this.logMessage(LogLevel.Error, message, false);
|
57 | };
|
58 | |
59 |
|
60 |
|
61 | Logger.prototype.errorPii = function (message) {
|
62 | this.logMessage(LogLevel.Error, message, true);
|
63 | };
|
64 | |
65 |
|
66 |
|
67 | Logger.prototype.warning = function (message) {
|
68 | this.logMessage(LogLevel.Warning, message, false);
|
69 | };
|
70 | |
71 |
|
72 |
|
73 | Logger.prototype.warningPii = function (message) {
|
74 | this.logMessage(LogLevel.Warning, message, true);
|
75 | };
|
76 | |
77 |
|
78 |
|
79 | Logger.prototype.info = function (message) {
|
80 | this.logMessage(LogLevel.Info, message, false);
|
81 | };
|
82 | |
83 |
|
84 |
|
85 | Logger.prototype.infoPii = function (message) {
|
86 | this.logMessage(LogLevel.Info, message, true);
|
87 | };
|
88 | |
89 |
|
90 |
|
91 | Logger.prototype.verbose = function (message) {
|
92 | this.logMessage(LogLevel.Verbose, message, false);
|
93 | };
|
94 | |
95 |
|
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 | }());
|
105 | export { Logger };
|
106 |
|
\ | No newline at end of file |