Android so 中 进行日志输出接口

本文介绍了Android系统中用于日志输出的接口__android_log_print,详细解析了其参数tag和prio的含义。tag用于标记日志类型,prio决定了日志的优先级和在logcat中的显示颜色。文章还提到了在不同环境下(如Android.mk、Android Studio)设置编译参数的方法,并给出了__android_log_print的部分源码。
摘要由CSDN通过智能技术生成

int __android_log_print(int prio, const char* tag, const char* fmt, ...)

参数 tag 是一个标签,用于标记 日志的类型。
参数 prio 是日志优先级,不同级别的日志在 logcat 中 会以优先级先后进行展示,并以不同 颜色区分。定义如下:

typedef enum android_LogPriority {
  /** For internal use only.  */
  ANDROID_LOG_UNKNOWN = 0,
  /** The default priority, for internal use only.  */
  ANDROID_LOG_DEFAULT, /* only for SetMinPriority() */
  /** Verbose logging. Should typically be disabled for a release apk. */
  ANDROID_LOG_VERBOSE,
  /** Debug logging. Should typically be disabled for a release apk. */
  ANDROID_LOG_DEBUG,
  /** Informational logging. Should typically be disabled for a release apk. */
  ANDROID_LOG_INFO,
  /** Warning logging. For use with recoverable failures. */
  ANDROID_LOG_WARN,
  /** Error logging. For use with unrecoverable failures. */
  ANDROID_LOG_ERROR,
  /** Fatal logging. For use when aborting. */
  ANDROID_LOG_FATAL,
  /** For internal use only.  */
  ANDROID_LOG_SILENT, /* only for SetMinPriority(); must be last */
} android_LogPriority;

cpp 中一般 枚举定义

#define LOGV(...) __android_log_print(ANDROID_LOG_VERBOSE, "LogTagVerbose", __VA_ARGS__)
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG , "LogTagDebug", __VA_ARGS__)
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO , "LogTagInfo", __VA_ARGS__)
#define LOGW(...) __android_log_print(ANDROID_LOG_WARN , "LogTagWarming", __VA_ARGS__)
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR , "LogTagError", __VA_ARGS__)

在 Android.mk 中需要 添加编译参数  

LOCAL_LDLIBS :=  -L$(SYSROOT)/usr/lib -llog

-L$(SYSROOT)/usr/lib 表示添加链接库的 搜索路径
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值