@@ -6,37 +6,36 @@ const TerminalRenderer = require("marked-terminal");
66const chalk = require ( "chalk" ) ;
77
88export class Logger implements ILogger {
9- private log4jsLogger : log4js . ILogger = null ;
9+ private log4jsLogger : log4js . Logger = null ;
1010 private passwordRegex = / ( p a s s w o r d = ) .* ?( [ ' & , ] | $ ) | ( p a s s w o r d [ " ' ] ? \s * : \s * [ " ' ] ) .* ?( [ " ' ] ) / i;
1111 private passwordReplacement = "$1$3*******$2$4" ;
1212 private static LABEL = "[WARNING]:" ;
1313
1414 constructor ( $config : Config . IConfig ,
1515 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 : IDictionary < log4js . Appender > = { } ;
17+ const categories : IDictionary < { appenders : string [ ] ; level : string ; } > = { } ;
18+ let level : string = null ;
3119 if ( this . $options . log ) {
32- this . log4jsLogger . setLevel ( this . $options . log ) ;
20+ level = this . $options . log ;
3321 } else {
34- this . log4jsLogger . setLevel ( $config . DEBUG ? "TRACE" : "INFO" ) ;
22+ level = $config . DEBUG ? "TRACE" : "INFO" ;
3523 }
36- }
3724
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 ( ) ;
4039 }
4140
4241 getLevel ( ) : string {
0 commit comments