android:debuggable="false"
in the manifest file. This is outlined here in the section called 'Turn off logging and debugging'.Removing all logs can be difficult, however you might still decide, that's okay I will comment all my logs out! This would not be a bad idea but its not the most efficient by far, an alternative is to add 'if' statements for every Log in your app that points to a global boolean flag...however that is also not easy with lots of Log calls.
The solution that I adopted was create a wrapper class around the Log class called MyLog. Then by replacing all instances of Log in my Android app with MyLog, I was then able to have an 'on off' switch for Log calls...the code looked a little bit like this:
import android.util.Log; public class MyLog { private MyLog() { } private static boolean LOG_ENABLED = true; public static void d(String tag, String msg) { if (LOG_ENABLED) Log.d(tag, msg); } public static void d(String tag, String msg, Throwable tr) { if (LOG_ENABLED) Log.d(tag, msg, tr); } public static void e(String tag, String msg) { if (LOG_ENABLED) Log.e(tag, msg); } public static void e(String tag, String msg, Throwable tr) { if (LOG_ENABLED) Log.e(tag, msg, tr); } public static void i(String tag, String msg) { if (LOG_ENABLED) Log.i(tag, msg); } public static void i(String tag, String msg, Throwable tr) { if (LOG_ENABLED) Log.i(tag, msg, tr); } public static void v(String tag, String msg) { if (LOG_ENABLED) Log.v(tag, msg); } public static void v(String tag, String msg, Throwable tr) { if (LOG_ENABLED) Log.v(tag, msg, tr); } public static void w(String tag, Throwable tr) { if (LOG_ENABLED) Log.w(tag, tr); } public static void w(String tag, String msg, Throwable tr) { if (LOG_ENABLED) Log.w(tag, msg, tr); } public static void w(String tag, String msg) { if (LOG_ENABLED) Log.w(tag, msg); } }Example Log from MyLog:
MyLog.v("Tag","Hello World!");As you may have guessed to turn the logs off you change the code to
LOG_ENABLED = false
, this allows you to easily switch between development and publishing versions of the code.
No comments:
Post a Comment