8

What log source is used by logcat (with default settings: adb shell logcat). Are dmesg logs included in logcat's output? If not, what's the difference between dmesg logs and logcat logs?

HMM
  • 29
  • 1
  • 10
jgro
  • 173
  • 1
  • 1
  • 6

2 Answers2

10

According to the source code https://github.com/android/platform_system_core/blob/master/liblog/logd_write.c Log.d(String tag, String message) writes directly to /dev/log/main.

You can write there like this adb shell echo "Hello world" >> /dev/log/main

But dmesg prints the contents of the kernel's ring buffer. So dmesg will print only what system writes to kernel log, logcat will output only android app's logs.

vasart
  • 6,692
  • 38
  • 39
  • I can't find "echo xxx" in linux running scripts both in dmesg and logcat, so where does it goes ? – ransh Dec 28 '16 at 07:39
4

LOGCAT-- This is used in Android , to see the different messages written by the activity managers inside the Android , u see android also uses the linux kernel , but what it does is, once the kernel boots ( the hardware initialization /probing has been taken care of) , the android starts a process called init which parses the init.rc file which contains all the android system activities , i mean the basic processes for android to boot , in this init.rc file there's a process called zygote which starts the Dalvik Virtual Machine , and after that all the other activity managers , which will be used by the application to interact with the hardware . so its basically messages from the VM , for the application programmers to debug it . logcat example http://pastebin.com/bV1Vd6EQ

Dmesg- it is messages from the kernel , suppose u write a driver , it can be used as a tool for debugging drivers and other kernel code, most of them are driver messages its a good way of debugging , the kernel , driver etc.. dmesg example http://pastebin.com/P4ja9PFi

Logcat is only for android and its not available in any other OS , both Logcat and dmesg is available on Android but not the vice versa for any linux distros .

regards, zubraj