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
本文详细介绍了如何在C/C++和Java中动态控制应用程序的日志输出,包括在运行时通过设置属性来开启或关闭不同级别的日志记录,如DEBUG、INFO等,适用于Android开发环境。

1095

被折叠的 条评论
为什么被折叠?



