Debugging a WebView (Ionic) app on Android via logcat

橙三吉。 提交于 2019-11-27 01:10:45

问题


There are several questions about the subject, however not one of them seems to address the particular problem I'm having.

I'm developing an app with Cordova/Ionic, and printing debugging info I was outputting with console.log() by using adb logcat CordovaLog:D *:S was working just fine until some updates. Now I can't seem to figure out how to properly filter logcat's output so I could only get the debugging info from my app.

Logging itself works. If I set no filters and redirect output to a file, I can see my debugging info among all the other debug messages, and it looks like this:

I/Web Console: Event triggered: device.ready:1

Logging to screen also works, but at a rate of approximately 100 lines per second. I've tried at least the following to filter output:

adb logcat -s "Web Console"
adb logcat "Web Console":V
adb logcat "Web Console":*
adb logcat -s Web
adb logcat Web:V
adb logcat "myApp":V
adb logcat myApp:V
adb logcat -s myApp

... and probably others I've already forgotten. They either print absolutely nothing, or absolutely everything from the system services.

I'm on Windows so I can't grep, and the device I'm debugging on is running Android 4.2.2 so I can't use GapDebug, and neither does it seem to be possible to access the device's log via chrome://inspect in Chrome.

I really, really would like to understand how filtering logcat's output works. I'm not willing to log everything to a file and then shift through that.


回答1:


It seems that logcat can not properly parse tag names with whitespaces. So instead I suggest using grep on the device:

adb shell "logcat | grep 'Web Console'"



回答2:


Alternatively when runing adb on linux or unix based os/git bash:

adb logcat | grep 'Web Console'



回答3:


While you can use grep under Linux/Unix, findstr might be your choice under Windows:

adb logcat | findstr /C:"Web Console"

If you prefer to use grep under Windows, you can get it from http://gnuwin32.sourceforge.net/packages/grep.htm.




回答4:


What works for me in 2019:

adb -d logcat chromium:I *:S

The -d indicating a physical device in my case. If all else fails just dump the results of adb logcat into a text file and do a search for "CONSOLE", that will give you the provider for your logcat filter. It seems this changes over time, and depending on your particular dev environment.



来源:https://stackoverflow.com/questions/30247308/debugging-a-webview-ionic-app-on-android-via-logcat

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!