Skip to content

Instantly share code, notes, and snippets.

@renatoliveira
Created December 27, 2018 16:24
Show Gist options
  • Save renatoliveira/a965928cf80a8854eeff4c0670956d37 to your computer and use it in GitHub Desktop.
Save renatoliveira/a965928cf80a8854eeff4c0670956d37 to your computer and use it in GitHub Desktop.
Erase all specified ApexLog records from Salesforce
from simple_salesforce import Salesforce
import argparse
parser = argparse.ArgumentParser(description='Erase logs')
parser.add_argument('-q', '--query', dest='query', help='ApexLog query')
parser.add_argument('-u', '--username', dest='username', help='Salesforce username')
parser.add_argument('-p', '--password', dest='password', help='Salesforce password')
parser.add_argument('-t', '--token', dest='token', help='Salesforce token')
args = vars(parser.parse_args())
sf = Salesforce(
username=args['username'],
password=args['password'],
security_token=args['token'],
sandbox=True
);
def remove2krecords():
logs = sf.query(args['query'])
log_count = len(logs['records'])
if log_count == 0:
return
for log in logs['records']:
print('Remaining logs: ' + str(log_count))
sf.ApexLog.delete(log['Id'])
log_count -= 1
remove2krecords()
remove2krecords()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment