@@ -7,7 +7,7 @@ import * as log4js from "log4js";
7
7
import 'source-map-support/register' ;
8
8
import * as vs from 'vscode' ;
9
9
import { utbotUI } from "./interface/utbotUI" ;
10
-
10
+ import { AppenderModule , AppenderFunction } from "log4js" ;
11
11
12
12
export type LogLevel = 'FATAL' | 'ERROR' | 'DEBUG' | 'TRACE' | 'INFO' | 'WARN' ;
13
13
@@ -17,7 +17,7 @@ export class ExtensionLogger {
17
17
public static get logger ( ) : log4js . Logger {
18
18
if ( ExtensionLogger . _logger === undefined ) {
19
19
ExtensionLogger . _logger = Logger . getLog4JsLogger (
20
- 'INFO' ,
20
+ 'INFO' ,
21
21
utbotUI . channels ( ) . outputClientLogChannel
22
22
) ;
23
23
}
@@ -44,28 +44,23 @@ export class Logger {
44
44
* Configurates Log4js logger.
45
45
*/
46
46
private static configureLog4js ( configLogLevel : LogLevel , outputLogChannel : vs . OutputChannel ) : log4js . Logger {
47
- /**
48
- * Creating custom appender, that writes logs to
49
- * VS Code output channel
47
+ /**
48
+ * Creating custom appender, that writes logs to
49
+ * VS Code output channel
50
50
*/
51
- const vscodeOutChannelAppender = {
52
- configure : ( config : any , layouts : any ) : { } => {
53
- const vscodeAppender = ( loggingEvent : log4js . LoggingEvent ) : void => {
51
+ const vscodeOutChannelAppender : AppenderModule = {
52
+ configure : ( config : any , layouts : any ) : AppenderFunction => {
53
+ const vscodeAppender : AppenderFunction = ( loggingEvent : log4js . LoggingEvent ) : void => {
54
54
let layout = layouts . basicLayout ;
55
55
if ( config . layout ) {
56
56
layout = layouts . layout ( config . layout . type , config . layout ) ;
57
57
}
58
58
outputLogChannel . append ( `${ layout ( loggingEvent , config . timezoneOffset ) } ` ) ;
59
59
} ;
60
60
61
- vscodeAppender . shutdown = ( done : any ) : void => {
62
- outputLogChannel . dispose ( ) ;
63
- setTimeout ( done , 10 ) ;
64
- } ;
65
61
return vscodeAppender ;
66
62
}
67
63
} ;
68
-
69
64
log4js . configure ( {
70
65
appenders : {
71
66
vscodeOutChannel : {
@@ -78,11 +73,11 @@ export class Logger {
78
73
console : {
79
74
type : 'console' ,
80
75
layout : {
81
- type : 'pattern' ,
76
+ type : 'pattern' ,
82
77
pattern : this . patternString
83
78
}
84
79
} ,
85
- vscodeOutChannelForClientOnlyAppender : {
80
+ vscodeOutChannelForClientOnlyAppender : {
86
81
type : vscodeOutChannelAppender ,
87
82
layout : {
88
83
type : 'pattern' ,
@@ -103,14 +98,19 @@ export class Logger {
103
98
104
99
} ,
105
100
categories : {
106
- default : { appenders : [ 'vscodeOutChannelForInfo' , 'vscodeOutChannelForDebug' , 'console' ] , level : configLogLevel , enableCallStack : true } ,
101
+ default : {
102
+ appenders : [ 'vscodeOutChannelForInfo' , 'vscodeOutChannelForDebug' , 'console' ] ,
103
+ level : configLogLevel ,
104
+ enableCallStack : true
105
+ } ,
107
106
}
108
107
} ) ;
109
108
110
109
return log4js . getLogger ( "Client" ) ;
111
110
}
112
-
111
+
113
112
public static configToLog4jsLogLevel ( configLogLevel : LogLevel ) : string {
114
113
return configLogLevel . toLowerCase ( ) ;
115
114
}
116
115
}
116
+
0 commit comments