@crimson-education/browser-logger 1.1.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.d.ts +3 -6
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +12 -16
- package/lib/index.js.map +1 -1
- package/lib/reporters/index.d.ts +3 -0
- package/lib/reporters/index.d.ts.map +1 -1
- package/package.json +1 -1
package/lib/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ILogger, Metadata, ReportError, ReportUser, ServiceInfo } from './types';
|
|
2
|
-
import { ReporterBreadcrumb, ReporterEvent } from './reporters';
|
|
2
|
+
import { ReporterBreadcrumb, ReporterEvent, TrackedReporterEvent } from './reporters';
|
|
3
3
|
import { DatadogReporterConfig } from './reporters/datadogReporter';
|
|
4
4
|
import { SentryReporterConfig } from './reporters/sentryReporter';
|
|
5
5
|
export * from './types';
|
|
@@ -20,11 +20,8 @@ export declare function setPageName(pageName: string): void;
|
|
|
20
20
|
export declare function reportError(error: ReportError, metadata?: Metadata): void;
|
|
21
21
|
export declare function recordSession(): void;
|
|
22
22
|
export declare function recordSessionStop(): void;
|
|
23
|
-
export declare function trackEventSinceLastAction(
|
|
24
|
-
export declare function getLastTrackedEvent():
|
|
25
|
-
event: string;
|
|
26
|
-
timestamp: number;
|
|
27
|
-
} | null;
|
|
23
|
+
export declare function trackEventSinceLastAction(event: ReporterEvent): void;
|
|
24
|
+
export declare function getLastTrackedEvent(): TrackedReporterEvent | null;
|
|
28
25
|
export declare function createLogger(name?: string, options?: {
|
|
29
26
|
metadata?: Metadata;
|
|
30
27
|
}): ILogger;
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAClF,OAAO,EAAa,kBAAkB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAClF,OAAO,EAAa,kBAAkB,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEjG,OAAO,EAAkC,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpG,OAAO,EAAkB,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAIlF,cAAc,SAAS,CAAC;AAExB,eAAO,IAAI,MAAM,EAAE,OAAO,GAAG,IAAW,CAAC;AAEzC,oBAAY,cAAc,GAAG,WAAW,GAAG;IAEzC,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAG9B,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAGhC,GAAG,CAAC,EAAE,OAAO,CAAC;IAGd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAMF,wBAAgB,IAAI,CAAC,MAAM,EAAE,cAAc,QA2B1C;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAIrD;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,kBAAkB,GAAG,IAAI,CAIlE;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAIpD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI,CAIrD;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAIpD;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAIlD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAIzE;AAED,wBAAgB,aAAa,IAAI,IAAI,CAIpC;AAED,wBAAgB,iBAAiB,IAAI,IAAI,CAIxC;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAgBpE;AAED,wBAAgB,mBAAmB,IAAI,oBAAoB,GAAG,IAAI,CAOjE;AAED,wBAAgB,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,QAAQ,CAAA;CAAE,GAAG,OAAO,CAUtF"}
|
package/lib/index.js
CHANGED
|
@@ -98,36 +98,32 @@ function recordSessionStop() {
|
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
100
|
exports.recordSessionStop = recordSessionStop;
|
|
101
|
-
function trackEventSinceLastAction(
|
|
101
|
+
function trackEventSinceLastAction(event) {
|
|
102
102
|
const lastEvent = getLastTrackedEvent();
|
|
103
103
|
if (lastEvent) {
|
|
104
|
-
const duration = new Date().getTime() - lastEvent.
|
|
104
|
+
const duration = new Date().getTime() - lastEvent.occurred.getTime();
|
|
105
105
|
trackEvent({
|
|
106
|
-
|
|
106
|
+
...event,
|
|
107
107
|
metadata: {
|
|
108
|
-
...metadata,
|
|
109
|
-
lastEventName: lastEvent.
|
|
108
|
+
...event.metadata,
|
|
109
|
+
lastEventName: lastEvent.message,
|
|
110
110
|
timeSinceLastEvent: duration,
|
|
111
111
|
},
|
|
112
112
|
});
|
|
113
113
|
}
|
|
114
114
|
else {
|
|
115
|
-
trackEvent(
|
|
115
|
+
trackEvent(event);
|
|
116
116
|
}
|
|
117
|
-
sessionStorage.setItem('
|
|
118
|
-
sessionStorage.setItem('pageActionTimestamp', new Date().getTime().toString());
|
|
117
|
+
sessionStorage.setItem('loggerLastEvent', JSON.stringify({ ...event, occurred: new Date() }));
|
|
119
118
|
}
|
|
120
119
|
exports.trackEventSinceLastAction = trackEventSinceLastAction;
|
|
121
120
|
function getLastTrackedEvent() {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
if (!event)
|
|
121
|
+
const eventStr = sessionStorage.getItem('loggerLastEvent');
|
|
122
|
+
if (!eventStr)
|
|
125
123
|
return null;
|
|
126
|
-
const
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
timestamp,
|
|
130
|
-
};
|
|
124
|
+
const event = JSON.parse(eventStr);
|
|
125
|
+
event.occurred = new Date(event.occurred);
|
|
126
|
+
return event;
|
|
131
127
|
}
|
|
132
128
|
exports.getLastTrackedEvent = getLastTrackedEvent;
|
|
133
129
|
function createLogger(name, options) {
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAEA,mCAAwC;AACxC,iEAAoG;AACpG,+DAAkF;AAClF,yDAAsD;AACtD,mEAAgE;AAEhE,0CAAwB;AAEb,QAAA,MAAM,GAAmB,IAAI,CAAC;AAgBzC,MAAM,SAAS,GAAgB,EAAE,CAAC;AAClC,IAAI,WAAW,GAAG,KAAK,CAAC;AACxB,IAAI,aAAa,GAAG,KAAK,CAAC;AAE1B,SAAgB,IAAI,CAAC,MAAsB;IACzC,WAAW,GAAG,IAAI,CAAC;IAEnB,IAAI,MAAM,CAAC,MAAM,EAAE;QACjB,SAAS,CAAC,IAAI,CAAC,+BAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;KACvD;IAED,IAAI,MAAM,CAAC,OAAO,EAAE;QAClB,SAAS,CAAC,IAAI,CAAC,iCAAe,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QACxD,aAAa,GAAG,IAAI,CAAC;KACtB;IAED,IAAI,MAAM,CAAC,GAAG,EAAE;QACd,SAAS,CAAC,IAAI,CAAC,yBAAW,EAAE,CAAC,CAAC;KAC/B;IAED,IAAI,MAAM,CAAC,QAAQ,EAAE;QACnB,SAAS,CAAC,IAAI,CAAC,mCAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;KAC1C;IAED,IAAI,MAAM,CAAC,eAAe,EAAE;QAC1B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;YAChC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;SAC9C;KACF;IAED,cAAM,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;AACpC,CAAC;AA3BD,oBA2BC;AAED,SAAgB,UAAU,CAAC,KAAoB;IAC7C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;QAChC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;KAC5B;AACH,CAAC;AAJD,gCAIC;AAED,SAAgB,aAAa,CAAC,UAA8B;IAC1D,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;QAChC,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;KACpC;AACH,CAAC;AAJD,sCAIC;AAED,SAAgB,WAAW,CAAC,QAAkB;IAC5C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;QAChC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;KAChC;AACH,CAAC;AAJD,kCAIC;AAED,SAAgB,OAAO,CAAC,IAAuB;IAC7C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;QAChC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KACxB;AACH,CAAC;AAJD,0BAIC;AAED,SAAgB,YAAY,CAAC,SAAiB;IAC5C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;QAChC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;KAClC;AACH,CAAC;AAJD,oCAIC;AAED,SAAgB,WAAW,CAAC,QAAgB;IAC1C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;QAChC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;KAChC;AACH,CAAC;AAJD,kCAIC;AAED,SAAgB,WAAW,CAAC,KAAkB,EAAE,QAAmB;IACjE,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;QAChC,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;KACvC;AACH,CAAC;AAJD,kCAIC;AAED,SAAgB,aAAa;IAC3B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;QAChC,QAAQ,CAAC,aAAa,EAAE,CAAC;KAC1B;AACH,CAAC;AAJD,sCAIC;AAED,SAAgB,iBAAiB;IAC/B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;QAChC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;KAC9B;AACH,CAAC;AAJD,8CAIC;AAED,SAAgB,yBAAyB,CAAC,KAAoB;IAC5D,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IACxC,IAAI,SAAS,EAAE;QACb,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrE,UAAU,CAAC;YACT,GAAG,KAAK;YACR,QAAQ,EAAE;gBACR,GAAG,KAAK,CAAC,QAAQ;gBACjB,aAAa,EAAE,SAAS,CAAC,OAAO;gBAChC,kBAAkB,EAAE,QAAQ;aAC7B;SACF,CAAC,CAAC;KACJ;SAAM;QACL,UAAU,CAAC,KAAK,CAAC,CAAC;KACnB;IACD,cAAc,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;AAChG,CAAC;AAhBD,8DAgBC;AAED,SAAgB,mBAAmB;IACjC,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC3D,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,MAAM,KAAK,GAAyB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzD,KAAK,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1C,OAAO,KAAK,CAAC;AACf,CAAC;AAPD,kDAOC;AAED,SAAgB,YAAY,CAAC,IAAa,EAAE,OAAiC;IAC3E,IAAI,CAAC,WAAW,EAAE;QAChB,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;KACjF;IAED,IAAI,aAAa,EAAE;QACjB,OAAO,+BAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KACrC;SAAM;QACL,OAAO,qBAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KACrC;AACH,CAAC;AAVD,oCAUC"}
|
package/lib/reporters/index.d.ts
CHANGED
|
@@ -6,6 +6,9 @@ export interface ReporterEvent {
|
|
|
6
6
|
metadata?: Metadata | undefined;
|
|
7
7
|
tags?: Metadata | undefined;
|
|
8
8
|
}
|
|
9
|
+
export interface TrackedReporterEvent extends ReporterEvent {
|
|
10
|
+
occurred: Date;
|
|
11
|
+
}
|
|
9
12
|
export interface ReporterBreadcrumb {
|
|
10
13
|
message: string;
|
|
11
14
|
category?: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/reporters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE7D,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAChC,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IACvC,aAAa,CAAC,UAAU,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACpD,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtC,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC;IACvC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC3D,aAAa,IAAI,IAAI,CAAC;IACtB,iBAAiB,IAAI,IAAI,CAAC;CAC3B"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/reporters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE7D,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAChC,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IACzD,QAAQ,EAAE,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IACvC,aAAa,CAAC,UAAU,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACpD,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtC,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC;IACvC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC3D,aAAa,IAAI,IAAI,CAAC;IACtB,iBAAiB,IAAI,IAAI,CAAC;CAC3B"}
|