1
1
namespace MSAL {
2
2
3
3
export interface ILoggerCallback {
4
- ( level : LogLevel , message : string , containsPii :boolean ) : boolean ;
4
+ ( level : LogLevel , message : string , containsPii :boolean ) : void ;
5
5
}
6
6
7
7
export enum LogLevel {
@@ -15,11 +15,15 @@ namespace MSAL {
15
15
private static _instance : Logger ;
16
16
private _correlationId : string ;
17
17
get correlationId ( ) : string { return this . _correlationId ; }
18
+ set correlationId ( correlationId : string ) {
19
+ this . _correlationId = correlationId ;
20
+ } ;
18
21
private _level : LogLevel = LogLevel . Info ;
19
22
get level ( ) : LogLevel { return this . _level ; }
20
23
set level ( logLevel : LogLevel ) {
21
- if ( LogLevel [ logLevel ] )
24
+ if ( LogLevel [ logLevel ] ) {
22
25
this . _level = logLevel ;
26
+ }
23
27
else throw new Error ( "Provide a valid value for level. Possibles range for logLevel is 0-3" ) ;
24
28
} ;
25
29
@@ -32,6 +36,9 @@ namespace MSAL {
32
36
private _localCallback : ILoggerCallback ;
33
37
get localCallback ( ) : ILoggerCallback { return this . _localCallback ; }
34
38
set localCallback ( localCallback : ILoggerCallback ) {
39
+ if ( this . localCallback ) {
40
+ throw new Error ( "MSAL logging callback can only be set once per process and should never change once set." ) ;
41
+ }
35
42
this . _localCallback = localCallback ;
36
43
} ;
37
44
@@ -49,18 +56,19 @@ namespace MSAL {
49
56
}
50
57
var timestamp = new Date ( ) . toUTCString ( ) ;
51
58
var log : string = '' ;
52
- if ( ! Utils . isEmpty ( this . correlationId ) )
59
+ if ( ! Utils . isEmpty ( this . correlationId ) ) {
53
60
log = timestamp + ':' + this . _correlationId + '-' + Utils . GetLibraryVersion ( ) + '-' + LogLevel [ logLevel ] + ' ' + logMessage ;
54
- else
61
+ }
62
+ else {
55
63
log = timestamp + ':' + Utils . GetLibraryVersion ( ) + '-' + LogLevel [ logLevel ] + ' ' + logMessage ;
56
-
64
+ }
57
65
this . executeCallback ( logLevel , log , containsPii ) ;
58
-
59
66
}
60
67
61
68
executeCallback ( level : LogLevel , message : string , containsPii : boolean ) {
62
- if ( this . localCallback )
69
+ if ( this . localCallback ) {
63
70
this . localCallback ( level , message , containsPii ) ;
71
+ }
64
72
}
65
73
66
74
error ( message : string ) : void {
@@ -94,7 +102,5 @@ namespace MSAL {
94
102
verbosePii ( message : string ) : void {
95
103
this . LogMessage ( message , LogLevel . Verbose , true ) ;
96
104
}
97
-
98
105
}
99
-
100
106
}
0 commit comments