108

There is a lot of interesting stuff in the Android system log, that is helpful in many ways

  • find root causes of problems
  • identify misbehaving apps

How can I view and examine the Android log?

59

You can either download the SDK and use adb logcat or get aLogcat or Logcat Extrem from the Market, which shows the log directly on your phone.

Jelly Bean

With Android 4.1 (aka Jelly Bean) the full system log is only visible if you have root. Apps can only see their own log messages. For more information view see this question.

  • 2
    Alternatively, you can use Terminal Emulator with command "logcat > /sdcard/log.txt" for continuous writing of the log to a file on the SD Card. This can help figure out issues with random reboots. – Chahk Oct 11 '11 at 15:07
  • Good point. Some phones tend to spam the log full of trivial information, so if you wish to minimize the filesize and data to go through check out the section "Filtering Log Output" on developer.android.com/guide/developing/tools/adb.html#logcat – onik Oct 11 '11 at 16:31
  • LogCat Apps doesn't work anymory with JellyBean. Google changed the Android API, apps don't have the permission anymore to read logs from other apps than their own. – Leandros Nov 11 '12 at 13:39
  • I have created a simple utility to collect logs from a PC: gist.github.com/hrj/5983971 – HRJ Jul 16 '13 at 18:36
  • Logcat Extreme is the nice app for see log – Arpit Patel Sep 12 '16 at 7:42
54

Log-File locations

There are several directories where logs (including those from crashes) might appear -- not all of them are standardized (i.e. some may be ROM-specific).

  • /data/anr: Some trace files seem to get here (Dalvik writes stack traces here on ANR, i.e. "Application Not Responding" aka "Force-Close"; see e.g. log excerpts here)
  • /data/dontpanic seems to be a standard location (AOSP), and contains some crash logs including traces (see e.g. viaForensics and StackOverflow)
  • /data/kernelpanics is another location -- not having had any "kernel panic" on my Android devices, I saw no content there yet.
  • the /data/panic/panic_daemon.config may point to other locations configured -- on my Droid 2 it mentions /sdcard/panic_data/
  • mentioned Droid 2 also has a /data/panicreports directory (empty here)
  • /data/tombstones may hold several tombstone_nn files (with nn being a serial, increased with every new file). As tombstones are placed for the dead, it is done here for "processes died by accident" (i.e. crashed) -- and it is what is referred to as "core dumps" on Linux/Unix systems. However, not all apps create tombstones; this must be explicitly enabled by the developer (see Debugging Android Core Dumps).

There may be some more locations which escaped me; but as most logging is done on tmpfs, these data are lost with a reboot, and would not match the OPs question.

Log commands to use with a terminal app (or adb)

Several commands can get you tons of information. For most of them, it is to recommend to re-direct them to a file (> filename.ext) or pipe them through a filter (| grep search-for-this):

Kernel log

The following works without root:

$ dmesg
<6>[82839.126586] PM: Syncing filesystems ... done.
<7>[82839.189056] PM: Preparing system for mem sleep
<4>[82839.189361] Freezing user space processes ... (elapsed 0.05 seconds) done.
<4>[82839.240661] Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done.
<snip>

Logcat

Here you can e.g. specify what area you are interested in -- radio, events...

# logcat -b events
I/am_create_service( 3457): [1085416560,nitro.phonestats/.widget.WidgetProvider4x1$WidgetUpdateService4x1,,3721]
I/am_destroy_service( 3457): [1085416560,nitro.phonestats/.widget.WidgetProvider4x1$WidgetUpdateService4x1,3721]
I/notification_cancel( 3457): [nitro.phonestats,4,0] 
<snip>

Getting device info

And tons of it: Device specifics, account information, services...

$ dumpsys
Currently running services:
  LocationProxyService
  SurfaceFlinger
  accessibility
  account
  activity
<snip>
DUMP OF SERVICE account:
Accounts:
  1 Account {name=xxxxxxx@googlemail.com, type=com.google}
<snip> 

$ dumpstate
========================================================
== dumpstate: 2012-08-18 23:39:53
========================================================

Build: Gingerbread GWK74 - CyanogenMilestone2
Bootloader: 0x0000
Radio: unknown 
<snip>
------ MEMORY INFO (/proc/meminfo) ------
MemTotal: 487344 kB
MemFree: 10436 kB 
<snip>

All-in-One

Make a big ball with everything together, from logcat to dumpstate:

$ bugreport > /mnt/sdcard/bugreport.txt

I'm pretty sure you really want to redirect that last command... xD

Something about permissions

P.S.: Naturally, access to those information may require root, as most of the sources are located on internal storage.

  • To get some more insights into adb logcat commands see here. – testing Apr 27 '16 at 16:03
  • Or just check our logging tag-wiki @testing – that has even more references :) – Izzy Apr 27 '16 at 20:47
  • The link for "Debugging Android Core Dumps" is dead, can we get an alternative? – Spidey Apr 4 at 10:15
  • 1
    @Spidey there's always Archive.ORG for this kind of problem (link goes to a working copy there). – Izzy Apr 4 at 21:16
12

A found that CatLog displays the Android log a little bit better then aLogcat. Besides adb logcat, that's what I am using.

  • See my comment above, regarding LogCat apps. – Leandros Nov 11 '12 at 13:40
  • 2
    I have updated the question. Please note that relative position information (e.g. "above") can easily become outdated, since the order of the answers could change with the time. – Flow Nov 11 '12 at 14:03
3

A method without root, that works even with new Android versions:

Prerequisites:

  • Linux, Windows or Mac
  • USB cable for your device
  • Android Device

Instructions:

  1. Install your device driver for using adb. Everything you need will you find here
  2. Download adb executable for your OS. It is part of the Android SDK, but you might be able to find the adb executable individually.
  3. Connect your android device.
  4. Enable the developer options.
  5. Enable USB debugging.
  6. Open a command promt (windows) or terminal (linux / mac). How to do it: On Windows: windows + r > enter "cmd" (without quotes) > click enter | On Linux: You don't know how to open a terminal? LOL | On Mac: Type Terminal into Spotlight and open it
  7. CD to the directory where the adb executable is located. On Windows: Go to the directory where you downloaded the adb executable, Shift+Right Click and select "Open Console" (or similar) | On Linux / Mac: Rightclick in the directory and select "Open Terminal here" (or simply CD into the directory)
  8. Type in your cmd/terminal: adb devices to verify your device is properly connected.
  9. If your device is properly selected, type in adb logcat to show the mighty and magic logcat aka stacktrace.
  10. Reproduce your error (or whatever) on your device.
  11. Right after, paste the whole cmd / terminal window into a paste-service like http://pastebin.com/ and send it to us.

(Mostly copied from Leandros)

2

Free app SysInfo (Project Page) will display the system logs as well as zip a complete system report to send via email, dropbox, NFC, etc. Not to mention lots of other interesting system information.

  • (Yup, I'm almost a year late, but this one needs a mention). – JRobert Aug 20 '12 at 13:09
  • Both links are broken now. – jk7 Mar 3 '17 at 19:26
  • The second link (project page) still works for me but the last entries in it are from 2010. Android changes sometime since then have broken much Sysinfo's functionality. – JRobert Mar 3 '17 at 19:37
-1

It is located in /sdcard/bugreports.

  • 3
    I've never had such a folder on my phone ... is this specific to a manufacturer or device? – Matthew Read Dec 19 '11 at 23:44
  • 2
    From Logcat - CyanogenMod Wiki: You can use a magic key combination to create a bugreport file in /sdcard/bugreports. So this seems to be a) a bit specific (probably to CM), and b) not the answer to the question, as the OP looks for "automatically generated" ones. – Izzy Aug 18 '12 at 23:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.