@@ -49,7 +49,14 @@ const FLUSH_RATE_MS = 30 * 1000;
49
49
const MAX_LOG_SIZE = 1024 * 1024 * 5 ; // 5 MB
50
50
51
51
type LogFunction = ( ...args : ( Error | DOMException | object | string ) [ ] ) => void ;
52
- type LogFunctionName = "log" | "info" | "warn" | "error" ;
52
+ const consoleFunctionsToLevels = {
53
+ log : "I" ,
54
+ info : "I" ,
55
+ warn : "W" ,
56
+ error : "E" ,
57
+ debug : "D" ,
58
+ } as const ;
59
+ type LogFunctionName = keyof typeof consoleFunctionsToLevels ;
53
60
54
61
// A class which monkey-patches the global console and stores log lines.
55
62
export class ConsoleLogger {
@@ -58,23 +65,15 @@ export class ConsoleLogger {
58
65
59
66
public monkeyPatch ( consoleObj : Console ) : void {
60
67
// Monkey-patch console logging
61
- const consoleFunctionsToLevels = {
62
- log : "I" ,
63
- info : "I" ,
64
- warn : "W" ,
65
- error : "E" ,
66
- } as const ;
67
- ( Object . keys ( consoleFunctionsToLevels ) as [ keyof typeof consoleFunctionsToLevels ] ) . forEach (
68
- ( fnName : keyof typeof consoleFunctionsToLevels ) => {
69
- const level = consoleFunctionsToLevels [ fnName ] ;
70
- const originalFn = consoleObj [ fnName ] . bind ( consoleObj ) ;
71
- this . originalFunctions [ fnName ] = originalFn ;
72
- consoleObj [ fnName ] = ( ...args ) => {
73
- this . log ( level , ...args ) ;
74
- originalFn ( ...args ) ;
75
- } ;
76
- } ,
77
- ) ;
68
+ ( Object . keys ( consoleFunctionsToLevels ) as LogFunctionName [ ] ) . forEach ( ( fnName : LogFunctionName ) => {
69
+ const level = consoleFunctionsToLevels [ fnName ] ;
70
+ const originalFn = consoleObj [ fnName ] . bind ( consoleObj ) ;
71
+ this . originalFunctions [ fnName ] = originalFn ;
72
+ consoleObj [ fnName ] = ( ...args ) => {
73
+ this . log ( level , ...args ) ;
74
+ originalFn ( ...args ) ;
75
+ } ;
76
+ } ) ;
78
77
}
79
78
80
79
public bypassRageshake ( fnName : LogFunctionName , ...args : ( Error | DOMException | object | string ) [ ] ) : void {
0 commit comments