File tree Expand file tree Collapse file tree 3 files changed +50
-1
lines changed Expand file tree Collapse file tree 3 files changed +50
-1
lines changed Original file line number Diff line number Diff line change @@ -25,6 +25,9 @@ <h1>Log Submission</h1>
25
25
< h1 > Diagnostics</ h1 >
26
26
< button id ="config-settings-log "> Log Client Configuration Settings (settings sent from server)</ button >
27
27
28
+ < h2 > Client Logs</ h2 >
29
+ < textarea id ="logs " rows ="30 " style ="width: 100%; "> </ textarea >
30
+
28
31
< script type ="module " src ="index.js "> </ script >
29
32
</ body >
30
33
</ html >
Original file line number Diff line number Diff line change 1
1
import { Exceptionless } from "../../node_modules/@exceptionless/browser/dist/index.min.js" ;
2
2
import { divide } from "./math.js" ;
3
+ import { TextAreaSelfLogger } from "./text-area-logger.js" ;
3
4
4
5
Exceptionless . startup ( c => {
5
6
c . apiKey = "LhhP1C9gijpSKCslHHCvwdSIz298twx271n1l6xw" ;
6
7
c . serverUrl = "http://localhost:5000" ;
7
8
c . updateSettingsWhenIdleInterval = 15000 ;
8
- c . useDebugLogger ( ) ;
9
9
c . useLocalStorage ( ) ;
10
+ c . useDebugLogger ( ) ;
11
+ c . services . log = new TextAreaSelfLogger ( "logs" , c . services . log ) ;
10
12
c . setUserIdentity ( "12345678" , "Blake" ) ;
11
13
c . useSessions ( ) ;
12
14
Original file line number Diff line number Diff line change
1
+ export class TextAreaSelfLogger {
2
+ constructor ( elementId , logger ) {
3
+ if ( ! elementId ) {
4
+ throw new Error ( "elementId is required" ) ;
5
+ }
6
+
7
+ this . logger = logger ;
8
+ this . messageBuffer = [ ] ;
9
+ if ( document . readyState === "complete" ) {
10
+ this . element = document . getElementById ( elementId ) ;
11
+ } else {
12
+ document . addEventListener ( "DOMContentLoaded" , ( ) => {
13
+ this . element = document . getElementById ( elementId ) ;
14
+ this . element . innerHTML = this . messageBuffer . join ( "\n" ) + this . element . innerHTML ;
15
+ this . messageBuffer = [ ] ;
16
+ } ) ;
17
+ }
18
+ }
19
+
20
+ trace ( message ) {
21
+ this . logger ?. trace ( message ) ;
22
+ this . log ( "debug" , message ) ;
23
+ }
24
+ info ( message ) {
25
+ this . logger ?. info ( message ) ;
26
+ this . log ( "info" , message ) ;
27
+ }
28
+ warn ( message ) {
29
+ this . logger ?. warn ( message ) ;
30
+ this . log ( "warn" , message ) ;
31
+ }
32
+ error ( message ) {
33
+ this . logger ?. error ( message ) ;
34
+ this . log ( "error" , message ) ;
35
+ }
36
+
37
+ log ( level , message ) {
38
+ if ( this . element ) {
39
+ this . element . innerHTML += `\n[${ level } ] Exceptionless: ${ message } ` ;
40
+ } else {
41
+ this . messageBuffer . push ( `[${ level } ] Exceptionless: ${ message } ` )
42
+ }
43
+ }
44
+ }
You can’t perform that action at this time.
0 commit comments