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>
2525 < h1 > Diagnostics</ h1 >
2626 < button id ="config-settings-log "> Log Client Configuration Settings (settings sent from server)</ button >
2727
28+ < h2 > Client Logs</ h2 >
29+ < textarea id ="logs " rows ="30 " style ="width: 100%; "> </ textarea >
30+
2831 < script type ="module " src ="index.js "> </ script >
2932 </ body >
3033</ html >
Original file line number Diff line number Diff line change 11import { Exceptionless } from "../../node_modules/@exceptionless/browser/dist/index.min.js" ;
22import { divide } from "./math.js" ;
3+ import { TextAreaSelfLogger } from "./text-area-logger.js" ;
34
45Exceptionless . startup ( c => {
56 c . apiKey = "LhhP1C9gijpSKCslHHCvwdSIz298twx271n1l6xw" ;
67 c . serverUrl = "http://localhost:5000" ;
78 c . updateSettingsWhenIdleInterval = 15000 ;
8- c . useDebugLogger ( ) ;
99 c . useLocalStorage ( ) ;
10+ c . useDebugLogger ( ) ;
11+ c . services . log = new TextAreaSelfLogger ( "logs" , c . services . log ) ;
1012 c . setUserIdentity ( "12345678" , "Blake" ) ;
1113 c . useSessions ( ) ;
1214
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