@@ -47,7 +47,7 @@ export class SpdLogService extends AbstractLogService implements ILogService {
4747 _serviceBrand : any ;
4848
4949 private buffer : ILog [ ] = [ ] ;
50- private _loggerPromise : Promise < spdlog . RotatingLogger | null > | undefined = undefined ;
50+ private _loggerCreationPromise : Promise < void > | undefined = undefined ;
5151 private _logger : spdlog . RotatingLogger | undefined ;
5252
5353 constructor ( private readonly name : string , private readonly logsFolder : string , level : LogLevel ) {
@@ -61,20 +61,21 @@ export class SpdLogService extends AbstractLogService implements ILogService {
6161 } ) ) ;
6262 }
6363
64- private _createSpdLogLogger ( ) {
65- if ( ! this . _loggerPromise ) {
66- this . _loggerPromise = createSpdLogLogger ( this . name , this . logsFolder ) ;
67- this . _loggerPromise . then ( logger => {
68- if ( logger ) {
69- this . _logger = logger ;
70- this . _logger . setLevel ( this . getLevel ( ) ) ;
71- for ( const { level, message } of this . buffer ) {
72- log ( this . _logger , level , message ) ;
64+ private _createSpdLogLogger ( ) : Promise < void > {
65+ if ( ! this . _loggerCreationPromise ) {
66+ this . _loggerCreationPromise = createSpdLogLogger ( this . name , this . logsFolder )
67+ . then ( logger => {
68+ if ( logger ) {
69+ this . _logger = logger ;
70+ this . _logger . setLevel ( this . getLevel ( ) ) ;
71+ for ( const { level, message } of this . buffer ) {
72+ log ( this . _logger , level , message ) ;
73+ }
74+ this . buffer = [ ] ;
7375 }
74- }
75- } ) ;
76+ } ) ;
7677 }
77- this . buffer = [ ] ;
78+ return this . _loggerCreationPromise ;
7879 }
7980
8081 private _log ( level : LogLevel , message : string ) : void {
@@ -132,10 +133,10 @@ export class SpdLogService extends AbstractLogService implements ILogService {
132133 dispose ( ) : void {
133134 if ( this . _logger ) {
134135 this . disposeLogger ( ) ;
135- } else if ( this . _loggerPromise ) {
136- this . _loggerPromise . then ( ( ) => this . disposeLogger ( ) ) ;
136+ } else if ( this . _loggerCreationPromise ) {
137+ this . _loggerCreationPromise . then ( ( ) => this . disposeLogger ( ) ) ;
137138 }
138- this . _loggerPromise = undefined ;
139+ this . _loggerCreationPromise = undefined ;
139140 }
140141
141142 private disposeLogger ( ) : void {
0 commit comments