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?
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
You can write there like this
adb shell echo "Hello world" >> /dev/log/main
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.
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 .
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..
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 .