Android: Logcat is not working for JS console.log()
Asked Answered
T

5

8

My app is a combination of Android native, html5. Till last week I'm able to see the log messages from native code and javascript code running inside th WebView. But suddenly Logcat is not showing the console messages from javascript, though it is showing Log messages from my native code. Any ideas?

Thanks in advance. Venkat

Tieshatieup answered 7/7, 2012 at 8:26 Comment(0)
O
22

You can try adding a console message handler to your WebView by creating your custom WebChromeClient:

class MyWebChromeClient extends WebChromeClient
{
    @Override
    public boolean onConsoleMessage(ConsoleMessage cm)
    {
        Log.d("CONTENT", String.format("%s @ %d: %s", 
                    cm.message(), cm.lineNumber(), cm.sourceId()));
        return true;
    }
}

And then attach it:

someWebView.setWebChromeClient(new MyWebChromeClient());
Oaks answered 25/7, 2013 at 11:34 Comment(0)
B
18

For just android native & html5 (not phonegap/cordova) this covers how to display console messages in logcat. http://developer.android.com/guide/webapps/debugging.html#WebView

An alternative is to use jsconsole.com. Remote debugging is covered at http://jsconsole.com/remote-debugging.html

Edit: Some have found jsconsole.com doesn't work. Another alternative for remote debugging is https://bugfender.com/remote-logging Disclaimer: non-affiliate link and I have no relationship with bugfender other than a user. There is a free plan and also various paid plans with higher usage levels.

Benzophenone answered 21/9, 2012 at 1:42 Comment(4)
Wow! Good find dude! jsconsole.com is AMAZING.Foreleg
implementing onConsoleMessage() worked out for me, see developer.android.com/guide/webapps/debugging.html#BrowserCirrocumulus
I agree with Dave that jsconsole.com is freakin cool! not only does it give you a way to see your console.log messages but also shows javascript errors with full file path and line numbers. wow! ThankSOutline
The listen feature on jsconsole.com no longer works, rendering it useless for solving this problem.Bindle
T
1

I am running PhoneGap 2.9.1.

After doing some searching I was expecting the Console.log to show in the Eclipse LogCat under the tag 'WebView', so I wasn't sure it was working.

After some playing around I found that console.log() does show in the LogCat under the tag 'CordovaLog'.

Tertial answered 25/6, 2014 at 3:21 Comment(0)
P
1

This command works too nice

adb shell "logcat | grep 'Web Console'"

I found the answer here

Permeable answered 31/3, 2016 at 17:3 Comment(0)
T
0

If you want to test your cordova App, within your browser, just like you test any other web app.

You can use: cordova serve . This will run the hybrid app locally. You can open the url http://localhost:8000, and can inspect element for console logs. You can change the DOM elements, CSS.

Tiebold answered 2/2, 2015 at 16:31 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.