@@ -6,37 +6,36 @@ const TerminalRenderer = require("marked-terminal");
6
6
const chalk = require ( "chalk" ) ;
7
7
8
8
export class Logger implements ILogger {
9
- private log4jsLogger : log4js . ILogger = null ;
9
+ private log4jsLogger : log4js . Logger = null ;
10
10
private passwordRegex = / ( p a s s w o r d = ) .* ?( [ ' & , ] | $ ) | ( p a s s w o r d [ " ' ] ? \s * : \s * [ " ' ] ) .* ?( [ " ' ] ) / i;
11
11
private passwordReplacement = "$1$3*******$2$4" ;
12
12
private static LABEL = "[WARNING]:" ;
13
13
14
14
constructor ( $config : Config . IConfig ,
15
15
private $options : IOptions ) {
16
- const appenders : log4js . IAppender [ ] = [ ] ;
17
-
18
- if ( ! $config . CI_LOGGER ) {
19
- appenders . push ( {
20
- type : "console" ,
21
- layout : {
22
- type : "messagePassThrough"
23
- }
24
- } ) ;
25
- }
26
-
27
- log4js . configure ( { appenders : appenders } ) ;
28
-
29
- this . log4jsLogger = log4js . getLogger ( ) ;
30
-
16
+ const appenders : { [ name : string ] : log4js . Appender ; } = { } ;
17
+ const categories : { [ name : string ] : { appenders : string [ ] ; level : string ; } } = { } ;
18
+ let level : string = null ;
31
19
if ( this . $options . log ) {
32
- this . log4jsLogger . setLevel ( this . $options . log ) ;
20
+ level = this . $options . log ;
33
21
} else {
34
- this . log4jsLogger . setLevel ( $config . DEBUG ? "TRACE" : "INFO" ) ;
22
+ level = $config . DEBUG ? "TRACE" : "INFO" ;
35
23
}
36
- }
37
24
38
- setLevel ( level : string ) : void {
39
- this . log4jsLogger . setLevel ( level ) ;
25
+ appenders [ "out" ] = {
26
+ type : "console" ,
27
+ layout : {
28
+ type : "messagePassThrough"
29
+ }
30
+ } ;
31
+ categories [ "default" ] = {
32
+ appenders : [ 'out' ] ,
33
+ level
34
+ } ;
35
+
36
+ log4js . configure ( { appenders, categories } ) ;
37
+
38
+ this . log4jsLogger = log4js . getLogger ( ) ;
40
39
}
41
40
42
41
getLevel ( ) : string {
0 commit comments