At times when an application throws an error, we make use of debug statements in Salesforce apex to debug code. So normally, you’d disable the debug log in production org. However, when you analyze an issue, you need to turn it on. Even if debug logs are disabled, they can still affect the performance of your application. Today, in this blog, you’ll know how to optimize code by disabling debug mode in production org!
You need to create the below object and class to make a configurable debug.
1. Create a Custom Metadata Type to configure the system.debug
You can create a custom metadata type Log setting used to enable/disable debug log. You need to add a column in the custom fields as “Log Enabled” of the checkbox type. Then, add one record for this and set the value as true for column “Log Enabled” for dev org. It will be set as false in production. If you need to debug lines in production then, enable this flag in the custom metadata type.
2. Create a custom logger class to create a wrapper over the system.debug
Now, you need to create an apex logger to create logger methods. This will write the log only if the log is enabled. If the log is disabled, then it will not execute the system. debug statement.
Code
Using this logger class is simple, we have to just replace system.debug(‘message’) to Logger.logInfo(‘message’);
Conclusion
So now you know how you can optimize code by disabling debug code. If you want this solution implemented into your Salesforce org, or need assistance in any other Salesforce project, then get in touch. Also, don’t forget to share your feedback with us if you try this solution. Keep following our blog for more related blogs. We’ll be back with another Salesforce solution soon. Till then, happy learning! 🙂