現在在分析一個android netd的問題,只要一開啟熱點,
for (String ifname : added) { try { Log.d(TAG, "TetheredState, processMessage CMD_TETHER_CONNECTION_CHANGED, add mIfaceName =" + mIfaceName + " ifname =" + ifname ); mNetd.tetherAddForward(mIfaceName, ifname); mNetd.ipfwdAddInterfaceForward(mIfaceName, ifname); } catch (RemoteException | ServiceSpecificException e) { mLog.e("Exception enabling NAT: " + e.toString()); cleanupUpstream(); mLastError = TetheringManager.TETHER_ERROR_ENABLE_FORWARDING_ERROR; transitionTo(mInitialState); return true; } }
frameworks/base/packages/Tethering/src/android/net/ip/IpServer.java
mNetd.tetherAddForward調用的時候,在netd進程出錯,但是想確認具體錯誤時,老是無法查看日志,logcat無法打印,經過折騰,發(fā)現system/netd/server/TetherController.cpp里的LOG_TAG不是netd,而是下面的
#define LOG_TAG "netdTetherController"
?而且,正常情況下,只能打印ALOGE以上的, 可以在logcat里查看
按理說可以更改“LOG_NDEBUG”宏就可以打印ALOGV的,但是不知道為啥,在TetherController.cpp問價能力,添加#define LOG_NDEBUG 0 后,應該是在log.h最前面加的,但是沒用,放在log.h后面,編譯不通過,后面有時間再看看吧
Android Native如何打開ALOGV級別log和設定TAG_alogv 設置屬性 打開_Stang_Tang的博客-CSDN博客
Android C++層LOG_NDEBUG_android log_ndebug_夜風雪的博客-CSDN博客
還有,可以通過dumpsys查看部分record的日志,這個是通過 gLog.log? 打印的,與logcat不太一樣文章來源:http://www.zghlxwxcb.cn/news/detail-453020.html
android log的實現,是在?system/core/liblog 里實現的,應該所有的framework和netd,以及android庫和進程都會用到它,按理說,修改這里面的LOG_NDEBUG ,會修改整個android系統(tǒng)的LOG顯示級別的,但是修改后編譯會出問題,后續(xù)可以再看看文章來源地址http://www.zghlxwxcb.cn/news/detail-453020.html
到了這里,關于android log的使用的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!