File tree Expand file tree Collapse file tree 3 files changed +18
-1
lines changed Expand file tree Collapse file tree 3 files changed +18
-1
lines changed Original file line number Diff line number Diff line change @@ -301,6 +301,7 @@ describe('CliRepl', function () {
301
301
'browser' ,
302
302
'updateURL' ,
303
303
'disableLogging' ,
304
+ 'logLocation' ,
304
305
] satisfies ( keyof CliUserConfig ) [ ] ) ;
305
306
} ) ;
306
307
@@ -1342,6 +1343,15 @@ describe('CliRepl', function () {
1342
1343
expect ( emitSpy ) . not . calledWith ( 'mongosh:logger-initialized' ) ;
1343
1344
expect ( cliRepl . logWriter ) . is . undefined ;
1344
1345
} ) ;
1346
+
1347
+ it ( 'can set the log location' , async function ( ) {
1348
+ const testPath = path . join ( './test' , 'path' ) ;
1349
+ cliRepl . config . logLocation = testPath ;
1350
+ await cliRepl . start ( await testServer . connectionString ( ) , { } ) ;
1351
+
1352
+ expect ( cliRepl . getConfig ( 'logLocation' ) ) . is . true ;
1353
+ expect ( cliRepl . logWriter ?. logFilePath ) . equals ( testPath ) ;
1354
+ } ) ;
1345
1355
} ) ;
1346
1356
1347
1357
context ( 'analytics integration' , function ( ) {
Original file line number Diff line number Diff line change @@ -190,7 +190,8 @@ export class CliRepl implements MongoshIOProvider {
190
190
} ) ;
191
191
192
192
this . logManager = new MongoLogManager ( {
193
- directory : this . shellHomeDirectory . localPath ( '.' ) ,
193
+ directory :
194
+ this . getConfig ( 'logLocation' ) ?? this . shellHomeDirectory . localPath ( '.' ) ,
194
195
retentionDays : 30 ,
195
196
maxLogFileCount : + (
196
197
process . env . MONGOSH_TEST_ONLY_MAX_LOG_FILE_COUNT || 100
Original file line number Diff line number Diff line change @@ -502,6 +502,7 @@ export class CliUserConfig extends SnippetShellUserConfig {
502
502
browser : undefined | false | string = undefined ;
503
503
updateURL = 'https://downloads.mongodb.com/compass/mongosh.json' ;
504
504
disableLogging = false ;
505
+ logLocation : string | undefined = undefined ;
505
506
}
506
507
507
508
export class CliUserConfigValidator extends SnippetShellUserConfigValidator {
@@ -574,6 +575,11 @@ export class CliUserConfigValidator extends SnippetShellUserConfigValidator {
574
575
return `${ key } must be a valid URL or empty` ;
575
576
}
576
577
return null ;
578
+ case 'logLocation' :
579
+ if ( value !== undefined && typeof value !== 'string' ) {
580
+ return `${ key } must be a valid path or empty` ;
581
+ }
582
+ return null ;
577
583
default :
578
584
return super . validate (
579
585
key as keyof SnippetShellUserConfig ,
You can’t perform that action at this time.
0 commit comments