From The XDAndroid Project

rpierce99 actually made a great app called GetLogs. Check it out, makes taking logs much, much easier! (Does things like auto-masking, direct posting to pastebin, etc.)

If you want to pull logs manually, the most popular kind are dmesg, logcat and logcat -b radio.

adb shell dmesg > dmesg.txt will dump a dmesg log (kernel traces) to a file — dmesg.txt — on your computer. Note this command will drop dmesg.txt where ever you are currently running the command from — watch the path you are at!

adb logcat -v time -d > logcat.txt will dump a logcat file (userland traces, with timestamps).

adb logcat -b radio -v time -d > logcat_radio.txt will dump a file radio-specific logs. (RIL)

You can also run these on the phone directly, I recommend doing dmesg > /sdcard/dmesg.txt in order to put the dmesg log to a file on your SD card.

Note: if you want to run the logs continuously, for both logcat commands remove the -d. You will have to break them (CTRL-C) to get the log to quit and give you back a prompt.

For a continuous dmesg, you have to use a different command - cat /proc/kmsg > dmesg.txt - again, break with (CTRL-C).