当前位置: 首页 > news >正文

做的烂的网站延庆县专业网站制作网站建设

做的烂的网站,延庆县专业网站制作网站建设,WordPress手机上传图片,深圳住房和建设局网站在开发Android一些应用或是链接库, 在程序代码中埋一些log是一定有需要的, 因为谁也无法保证自己所写出来的程序一定没有问题, 而log机制正是用来追踪bug途径的一种常用的方法. 在andorid中提供了logcat的机制来作log的目的, 在javalayer有logcat class可以用,哪在nativelayer呢…

在开发Android一些应用或是链接库, 在程序代码中埋一些log是一定有需要的, 因为谁也无法保证自己所写出来的程序一定没有问题, 而log机制正是用来追踪bug途径的一种常用的方法. 在andorid中提供了logcat的机制来作log的目的, 在javalayer有logcat class可以用,哪在nativelayer呢? 从android platform source code中不难发现, 其实在nativelayer也有一些跟logcat相关的log用法. 以下就从目前的aosp的source code中整理出来的log用法.

Header system/core/include/cutils/log.h
Library libcutils.so
Example 1. add shared lib to LOCAL_SHARED_LIBRARIES in Android.mk
LOCAL_SHARED_LIBRARIES += libcutils
2. add log define and include the header file in the top of the source file.
#define LOG_NDEBUG 0
#define LOG_TAG "XXX"
#include <cutils/log.h>
3. Use the function as below to print log in logcat.
ALOGV
ALOGD
ALOGI
ALOGW
ALOGE

Header frameworks/native/include/utils/Log.h
Library libutils.so
Example 1. add shared lib to LOCAL_SHARED_LIBRARIES in Android.mk
LOCAL_SHARED_LIBRARIES += libutils
2. add log define and include the header file in the top of the source file.
#define LOG_NDEBUG 0
#define LOG_TAG "XXX"
#include <utils/Log.h>
3. Use the function as below to print log in logcat.
ALOGV
ALOGD
ALOGI
ALOGW
ALOGE

从这里会发现, 第一个跟第二个用法除了link的sharedlibrary 和 include的header file不一样之外, 其他的logfunction 都一样. 其实这个原因很明显就是android的log机制重构过,libutils.so 提供的log function 是比较早期的,后来多了一个新的libcutils.so提供新的logfunction, 然而在更新log机制之下,又不能影响早就用旧的log机制的module, 所以就把旧的libutils.so跟新的libcutils.so作结合, 始其使用旧log机制可以导到新的log机制.

Header system/core/include/android/log.h
Library None
Example 1. Define customize Log tag in the top of the source file.
<span style="white-space:pre"> </span>#define LOG_XXX_TAG "XXX"
2. Define customize Log function by __android_log_print
<span style="white-space:pre"> </span>#define LOGV(...) __android_log_print( ANDROID_LOG_VERBOSE, LOG_XXX_TAG, __VA_ARGS__ )
<span style="white-space:pre"> </span>#define LOGD(...) __android_log_print( ANDROID_LOG_DEBUG, LOG_XXX_TAG, __VA_ARGS__ )
<span style="white-space:pre"> </span>#define LOGI(...) __android_log_print( ANDROID_LOG_INFO, LOG_XXX_TAG, __VA_ARGS__ )
<span style="white-space:pre"> </span>#define LOGW(...) __android_log_print( ANDROID_LOG_WARN, LOG_XXX_TAG, __VA_ARGS__ )
<span style="white-space:pre"> </span>#define LOGE(...) __android_log_print( ANDROID_LOG_ERROR, LOG_XXX_TAG, __VA_ARGS__ )

最后一个用法跟前两个的用法不一样的地方是Log tag可以自己define, 而前两个的Logtag只能define LOG_TAG 以及一定要defineLOG_NDEBUG 0, 这样加入的log function才有作用.说白点, 第三种用法比较不会被制约化.自己的log自己作,log的开关控制自己定. 优点是客制化佳, 缺点是不统一.

http://www.yayakq.cn/news/620469/

相关文章:

  • 网站集约化建设可以免费视频的软件哪个最好
  • 手机网站乱弹做网站的人怎么上传内容的
  • 电商网站建设市场软件开发培训教程
  • 如何做视频网站推广员校园推广方案
  • 做支付行业招代理一般上什么网站arukas搭建wordpress
  • 网站建设一条龙服务网站建设 项目要求
  • 网站开发怎么做微信看视频打赏网站建设
  • 专业的大良网站设计广告设计专业专升本考什么
  • 数据网站建设工具模板网站建设和维护采购协议书
  • 国家胸痛中心建设网站wordpress你好多莉
  • 做谐和年龄图的网站js网站统计代码
  • 律师网站建站办公室装修一般多少钱一个平方
  • 陕西省建设工会网站北京网站关键词优化推荐
  • 公司网站打开很慢wordpress 瀑布流分页
  • 网站怎么做图片转换wordpress 会员名字
  • 做网站站长一年能赚多少钱网站建设初期的宣传
  • 建立网站的目录结构应注意哪些问题图片素材网站怎么做
  • 建设银行人才招聘官方网站安卓ui用什么软件设计
  • 做720效果的还有哪个网站ui界面图标
  • 定西市小企业网站建设建设交互设计就业前景
  • 网站如何防注册机小蓝鸟pnv加速器
  • 高明网站设计案例台州百度关键词优化
  • dw制作网站网页模板成都高端网页开发公司
  • 网站建设中出现的错误代码公司网站建设计入科目
  • 环县网站怎么做广州珠吉网站建设
  • pc网站手机网站sem竞价托管公司
  • 长沙市住房和城乡建设部网站推广百度百科
  • 做网络调查的网站赚钱wordpress 存储视频
  • 电商网站如何设计内容android编程语言
  • 设计精美的中文网站集团网站建设思路