I have used below approach in my project
Created custom logger class:
public class LoggerData { public static void showLog(String type, Object object) { try { Log.d("loggerData:" + type +"-", "showLog: " + new Gson().toJson(object)); } catch (Exception e) { Log.d("TAG", "showLog: " + e.getLocalizedMessage()); Log.d("loggerData:" + type +"-", "showLog: " + object); } } public static void showLog(Object object) { try { Log.d("loggerData:" +"-", "showLog: +" + new Gson().toJson(object)); } catch (Exception e) { Log.d("TAG", "showLog: " + e.getLocalizedMessage()); Log.d("loggerData:" +"-", "showLog: " + object); } }}
Then whenever required logs in code use like this way
LoggerData.showLog("Refreshed token: ", token);
before building release APK, disable logs only one place in LoggerData class
example
public class LoggerData { public static void showLog(String type, Object object) { try { //Log.d("loggerData:" + type +"-", "showLog: " + new Gson().toJson(object)); } catch (Exception e) { //Log.d("TAG", "showLog: " + e.getLocalizedMessage()); //Log.d("loggerData:" + type +"-", "showLog: " + object); } } public static void showLog(Object object) { try { // Log.d("loggerData:" +"-", "showLog: +" + new Gson().toJson(object)); } catch (Exception e) { //Log.d("TAG", "showLog: " + e.getLocalizedMessage()); //Log.d("loggerData:" +"-", "showLog: " + object); } } }
Hope it will help you as well.