@@ -87,6 +87,7 @@ export class SpyglassService {
8787
8888 private constructor (
8989 public readonly version : VersionId ,
90+ public readonly logger : StoredLogger ,
9091 private readonly service : core . Service ,
9192 private readonly client : SpyglassClient ,
9293 ) {
@@ -289,7 +290,7 @@ export class SpyglassService {
289290 const currentServiceId = SpyglassService . activeServiceId
290291 await Promise . allSettled ( INITIAL_DIRS . map ( async uri => client . externals . fs . mkdir ( uri ) ) )
291292 const version = siteConfig . versions . find ( v => v . id === versionId ) !
292- const logger = console
293+ const logger = new StoredLogger ( console )
293294 const service = new core . Service ( {
294295 logger,
295296 profilers : new core . ProfilerFactory ( logger , [
@@ -388,7 +389,7 @@ export class SpyglassService {
388389 logger . info ( '[SpyglassService] Skipped saving the cache because another service is active' )
389390 }
390391 } , 10_000 )
391- return new SpyglassService ( versionId , service , client )
392+ return new SpyglassService ( versionId , logger , service , client )
392393 }
393394}
394395
@@ -417,7 +418,7 @@ const initialize: core.ProjectInitializer = async (ctx) => {
417418 const vanillaMcdoc = await fetchVanillaMcdoc ( )
418419 meta . registerSymbolRegistrar ( 'vanilla-mcdoc' , {
419420 checksum : vanillaMcdoc . ref ,
420- registrar : vanillaMcdocRegistrar ( vanillaMcdoc ) ,
421+ registrar : vanillaMcdocRegistrar ( vanillaMcdoc , logger ) ,
421422 } )
422423
423424 meta . registerDependencyProvider ( '@misode-mcdoc' , async ( ) => {
@@ -434,8 +435,10 @@ const initialize: core.ProjectInitializer = async (ctx) => {
434435 const version = siteConfig . versions . find ( v => {
435436 return v . dynamic ? v . id === release : v . ref === release
436437 } )
437- if ( version === undefined ) {
438- logger . error ( `[initialize] Failed finding game version matching ${ release } .` )
438+ if ( version !== undefined ) {
439+ logger . info ( `[initialize] Found game version matching ${ release } : ${ JSON . stringify ( version ) } ` )
440+ } else {
441+ logger . error ( `[initialize] Failed finding game version matching ${ release } ` )
439442 return
440443 }
441444
@@ -532,7 +535,7 @@ function customSymbolRegistrar(summary: McmetaSummary, release: ReleaseVersion):
532535
533536const VanillaMcdocUri = 'mcdoc://vanilla-mcdoc/symbols.json'
534537
535- function vanillaMcdocRegistrar ( vanillaMcdoc : VanillaMcdocSymbols ) : core . SymbolRegistrar {
538+ function vanillaMcdocRegistrar ( vanillaMcdoc : VanillaMcdocSymbols , logger : core . Logger ) : core . SymbolRegistrar {
536539 return ( symbols ) => {
537540 const start = performance . now ( )
538541 for ( const [ id , typeDef ] of Object . entries ( vanillaMcdoc . mcdoc ) ) {
@@ -554,6 +557,30 @@ function vanillaMcdocRegistrar(vanillaMcdoc: VanillaMcdocSymbols): core.SymbolRe
554557 } )
555558 }
556559 const duration = performance . now ( ) - start
557- console . log ( `[vanillaMcdocRegistrar] Done in ${ duration } ms` )
560+ logger . info ( `[vanillaMcdocRegistrar] Done in ${ duration } ms` )
561+ }
562+ }
563+
564+ export class StoredLogger implements core . Logger {
565+ public readonly logs : string [ ] = [ ]
566+ constructor (
567+ private readonly parent : core . Logger ,
568+ ) { }
569+
570+ error ( data : any , ...args : any [ ] ) : void {
571+ this . logs . push ( `[ERROR] ${ data } ${ args . map ( a => ` ${ a } ` ) . join ( '' ) } ` )
572+ this . parent . error ( data , ...args )
573+ }
574+ info ( data : any , ...args : any [ ] ) : void {
575+ this . logs . push ( `[INFO] ${ data } ${ args . map ( a => ` ${ a } ` ) . join ( '' ) } ` )
576+ this . parent . info ( data , ...args )
577+ }
578+ log ( data : any , ...args : any [ ] ) : void {
579+ this . logs . push ( `[LOG] ${ data } ${ args . map ( a => ` ${ a } ` ) . join ( '' ) } ` )
580+ this . parent . log ( data , ...args )
581+ }
582+ warn ( data : any , ...args : any [ ] ) : void {
583+ this . logs . push ( `[WARN] ${ data } ${ args . map ( a => ` ${ a } ` ) . join ( '' ) } ` )
584+ this . parent . warn ( data , ...args )
558585 }
559586}
0 commit comments