Debugging a WebView (Ionic) app on Android via log

2019-02-02 15:47发布

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.

3条回答
可以哭但决不认输i
2楼-- · 2019-02-02 16:27

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

adb logcat | grep 'Web Console'
查看更多
该账号已被封号
3楼-- · 2019-02-02 16:30

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.

查看更多
Evening l夕情丶
4楼-- · 2019-02-02 16:31

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'"
查看更多
登录 后发表回答