簡體   English   中英

React Native,Android Log。

[英]React Native, Android Log.

有沒有辦法在本機中看到來自android的本機(java)模塊的日志?

我正在使用javas日志模塊https://developer.android.com/reference/android/util/Log.html - 但我從那里得不到任何東西。 說實話,如果可能的話,我不確定如何使用它。 atm沒有太多代碼 - 只是

    Log.d("Notification","Notify App");

因為我想知道我是否可以在某處看到通知 - 我知道java模塊已正確注冊,因為我正在調用其他函數。

謝謝!

如果你把Log.d放在你的本機代碼中,你可以在android studio中使用Android Device Monitor訪問日志,或者在終端上使用此命令: adb -d logcat <your package name>:<log level> *:S

確保手機中已啟用USB調試。

adb logcat -s可用於打印標簽列在其標簽列表中的日志。

對於您的問題,標記是“通知”,因此您可以使用以下命令查看:

adb logcat -s Notification:V

對於React Native開發,您可能希望“ReactNative”和“ReactNativeJS”標記獲取ReactNative和Javascript消息...所以適當的命令是:

adb logcat -s ReactNative:V,ReactNativeBleManager:V

要為任何其他模塊添加日志,請查看Java代碼以查看它使用的標記,並將其添加到列表中。

例如,藍牙模塊“react-native-ble-manager”記錄為Log.d("ReactNativeBleManager", "The log message") ,因此要包含這些消息,請將命令更改為:

adb logcat -s ReactNative:V,ReactNativeJS:V,ReactNativeBleManager:V

有關詳細信息,請參閱此處的文檔: https//developer.android.com/studio/command-line/logcat.html

您可以使用https://www.npmjs.com/package/react-native-android-log

例:

import Log from 'react-native-android-log'

// Set the default priority level (optional)
Log.setLevel(__DEV__ ? Log.VERBOSE : Log.WARN)

...
Log.v('Verbose message')    // no output in release builds
Log.w('Debugging')

// debugging message with amother tag:
Log.d('Proc2', 'warning')

您可以通過adb logcat -s App:V Proc2:V或VS Code的OUTPUT面板中的控制台中查看輸出。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM