有没有办法在本机反应中查看来自android的本机(java)模块的日志?
我正在使用javas日志模块https://developer.android.com/reference/android/util/Log.html - 但我从那里得不到任何东西。说实话,如果可能的话,我不确定如何使用它。 atm没有太多代码 - 它只是
Log.d("Notification","Notify App");
因为我想知道我是否可以在某处看到通知 - 我知道java模块已正确注册,因为我正在调用其他函数。
谢谢!
答案 0 :(得分:10)
如果你将Log.d
放在你的本机代码中,你可以在android studio中使用Android Device Monitor访问日志,或者在终端上使用此命令:
adb -d logcat <your package name>:<log level> *:S
确保手机已启用USB调试。
答案 1 :(得分:1)
adb logcat -s
可用于打印标签列在其标签列表中的日志。
如果是您的问题,标签是&#34;通知&#34;,您可以使用以下命令查看:
adb logcat -s Notification:V
对于React Native开发,您可能需要&#34; ReactNative&#34;和&#34; ReactNativeJS&#34;用于获取ReactNative和Javascript消息的标签...所以适当的命令是:
adb logcat -s ReactNative:V,ReactNativeBleManager:V
要为任何其他模块添加日志,请查看Java代码以查看它使用的标记,并将其添加到列表中。
例如蓝牙模块&#34; react-native-ble-manager&#34;记录为Log.d("ReactNativeBleManager", "The log message")
,因此要包含这些消息,请将命令更改为:
adb logcat -s ReactNative:V,ReactNativeJS:V,ReactNativeBleManager:V
有关详细信息,请参阅此处的文档:https://developer.android.com/studio/command-line/logcat.html。
答案 2 :(得分:0)
您可以使用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面板中查看输出。
答案 3 :(得分:0)
React Native CLI 现在附带 a command for showing JavaScript logs:
npx react-native log-android
很酷的事情是,如果您使用 Log.i("ReactNative", "My log here");
(确保首先使用 import android.util.Log;
在您的 Java 文件的顶部导入它),您会看到它显示在终端中。神奇的部分是 Log.i 方法调用第一部分的“ReactNative”过滤器。
答案 4 :(得分:-1)
不要忘记: 导入 android.util.Log;