How to delete debug logs from salesforce?
Delete all options in Debug log deletes the log page-wise. Is there any option to delete all the logs in debug at an instance?
You cannot delete the debug logs natively in Apex code. But you can use Rest DELETE endpoint to delete debug logs salesforce.
I have created a utility code to delete debug logs that way, you can refer to it.
The only limitation is
It can delete only 100 in 1 iteration(You can use a composite API to it).
It creates a new debug log after execution
List loglist = [Select Id from Apexlog limit 100]; for(Apexlog al: loglist){ Http h = new Http(); HttpRequest req = new HttpRequest(); req.setEndpoint(Url.getOrgDomainUrl().toExternalForm() + '/services/data/v44.0/sobjects/Apexlog/'+al.Id); req.setMethod('DELETE'); req.setHeader('Authorization', 'Bearer ' + UserInfo.getSessionId()); HttpResponse res = h.send(req); System.debug(res.getStatusCode()); }
If you are calling this method from the lightning component, your Session ID won't be api enabled. Thus you have to use named credentials.
src: https://salesforce.stackexchange.com/a/239642/19118