UNPKG

@salesforce/plugin-apex

Version:
72 lines 3.09 kB
/* * Copyright (c) 2020, salesforce.com, inc. * All rights reserved. * Licensed under the BSD 3-Clause license. * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ import { LogService } from '@salesforce/apex-node'; import { Flags, loglevel, orgApiVersionFlagWithDeprecations, requiredOrgFlagWithDeprecations, SfCommand, } from '@salesforce/sf-plugins-core'; import { Messages } from '@salesforce/core'; import { colorLogs } from '../../../logColorize.js'; Messages.importMessagesDirectoryFromMetaUrl(import.meta.url); const messages = Messages.loadMessages('@salesforce/plugin-apex', 'get'); export default class Log extends SfCommand { static summary = messages.getMessage('summary'); static description = messages.getMessage('description'); static examples = messages.getMessages('examples'); static deprecateAliases = true; static aliases = ['force:apex:log:get']; static flags = { 'target-org': requiredOrgFlagWithDeprecations, 'api-version': orgApiVersionFlagWithDeprecations, loglevel, 'log-id': Flags.salesforceId({ deprecateAliases: true, aliases: ['logid'], char: 'i', summary: messages.getMessage('flags.log-id.summary'), startsWith: '07L', length: 'both', }), // Removed default because it will take priority over 'log-id' in the apex library // https://github.com/forcedotcom/salesforcedx-apex/blob/main/src/logs/logService.ts#L57-L60 // eslint-disable-next-line sf-plugin/flag-min-max-default number: Flags.integer({ char: 'n', min: 1, max: 25, summary: messages.getMessage('flags.number.summary'), }), 'output-dir': Flags.directory({ aliases: ['outputdir', 'output-directory'], deprecateAliases: true, char: 'd', summary: messages.getMessage('flags.output-dir.summary'), description: messages.getMessage('flags.output-dir.description'), }), }; async run() { const { flags } = await this.parse(Log); const conn = flags['target-org'].getConnection(flags['api-version']); const logService = new LogService(conn); const logResults = await logService.getLogs({ logId: flags['log-id'], numberOfLogs: flags.number, outputDir: flags['output-dir'], }); if (logResults.length === 0) { this.log(messages.getMessage('noResultsFound')); return []; } if (flags['output-dir']) { this.log(`Log files written to ${flags['output-dir']}`); // TODO: look at this --outputdir will change what --json returns return logResults.map((logResult) => logResult.log); } return logResults.map((logResult) => { this.log(colorLogs(logResult.log)); return { log: logResult.log }; }); } } //# sourceMappingURL=log.js.map