React Native,Android Log。

时间:2016-09-03 18:23:23

标签: java android react-native

有没有办法在本机反应中查看来自android的本机(java)模块的日志?

我正在使用javas日志模块https://developer.android.com/reference/android/util/Log.html - 但我从那里得不到任何东西。说实话,如果可能的话,我不确定如何使用它。 atm没有太多代码 - 它只是

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

因为我想知道我是否可以在某处看到通知 - 我知道java模块已正确注册,因为我正在调用其他函数。

谢谢!

5 个答案:

答案 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;