How to watch console.logs in ionic emulator?

I'm building an app using the Ionic framework, which I've done in the browser until now. Because I now want to use the cordovaOauth plugin I need to use the emulator. The problem is that I can't see any console.log() in the emulator as I do in the browser, which makes it hard to debug.

Does anybody know how in Ionic/Cordova I can make use of console logging in the emulator? All tips are welcome!

Just enable the console logs in the emulator. Here my example:

> ionic emulate ios --livereload

  Setup Live Reload
  Running dev server: http://localhost:8100
  Adding in default Ionic hooks
  Running live reload server: http://localhost:35729
  Watching : [ 'www/**/*', '!www/lib/**/*' ]
  Ionic server commands, enter:
    restart or r to restart the client app from the root
    goto or g and a url to have the app navigate to the given url
    consolelogs or c to enable/disable console log output
    serverlogs or s to enable/disable server log output
    quit or q to shutdown the server and exit

Type consolelogs in the command line and hit enter.

  consolelogs

  Console log output: enabled
  Loading: /?restart=382451
  ionic $ 0     498458   log      Hi there! This is from console.log

run ionic emulate ios -l -c

This will open the emulator with livereload feature, and you'll see all the console logs in the terminal. To turn the console logs off (or on) just write consolelogs or just c in the terminal while the ionic server is running

Another very convenient way to debug your app when using iOS emulator/device is using the Safari developer tools

When the app runs - enter Safari and choose "Develop > iOS Simulator > your page"

If you work with a real device you'll see the device's name instead of "iOS Simulator"

If you don't see the "Develop" menu in safari - enter Safari's preferences and enable it from the "advanced" tab

There are a few ways to debug your ionic app.

  • In the browser you can catch the errors in the console.
  • If you are emulating your app on a simulator or a mobile device you can install the cardova plugin that displays js errors in the xcode console. So you can emulate your device and catch errors on xcode.

Here is how you add the plugin: cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-console.git

Hope this helps! It came in very handy for me while I was debugging GeoFire errors and testing the cardova camera and geolocation api.