1. C/C++ log control
#undef NDEBUG //打开LOGV/LOGI/LOGD
#define LOG_NDEBUG 0 //打开LOGV/LOGD/LOGI
#define LOG_NDDEBUG 0 //打开LOGD/LOGI
#define LOG_NIDEBUG 0 //打开LOGI
动态控制log
include<cutils/log.h>
#define LOG_CTL "packageName.debug.enablelog"
char value[PROPERTY_VALUE_MAX];
int isDebug=0;
property_get(LOG_CTL,value, "0");
isDebug=strcmp(value,"1");
if (isDebug)
ALOGD();
运行时开启log: 在终端输入:setprop packageName.debug.enablelog 1
运行时关闭log: 在终端输入:setprop packageName.debug.enablelog 0
2. Java log control
import android.util.Log
final String TAG="PackageName";
final public Boolean LOG_DEBUG = Log.isLoggable(TAG, Log.DEBUG);
if (LOG_DEBUG)
Log.d(TAG, LOG_STRING);
运行时开启log: 在终端输入:setprop log.tag.PackageName DEBUG
运行时关闭log: 在终端输入:setprop log.tag.PackageName INFO