Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to run logcat on multiple devices?

How can I run logcat on multiple devices at the same time? "adb logcat" command gives an error:

error: more than one device and emulator 
like image 393
Kostas Avatar asked Jun 01 '11 14:06

Kostas


2 Answers

Use the -s option of adb:

adb -s <serialnumber> 

Example

C:\Users\lel>adb devices List of devices attached 192.168.198.101:5555    device 0123456789ABCDEF        device  adb -s 0123456789ABCDEF logcat adb -s 192.168.198.101:5555 logcat 

You can combine grep whit this, to get all lines that contain it.
an example is with System.out

Example:

 adb -s 192.168.198.101:5555 logcat | grep "System.out" 
like image 84
levis501 Avatar answered Oct 11 '22 13:10

levis501


I thought it might be useful. I have this script that helps me a lot. It logcats each device to a different file. To stop logging just press CTRL+C.

#! /bin/bash  devices=`adb devices | grep 'device$' | cut -f1` pids=""  for device in $devices do     log_file="$device-`date +%d-%m-%H:%M:%S`.log"     echo "Logging device $device to \"$log_file\""     adb -s $device logcat -v threadtime > $log_file &     pids="$pids $!" done  echo "Children PIDs: $pids"  killemall() {     echo "Killing children (what a shame...)"      for pid in $pids     do         echo "Killing $pid"         kill -TERM $pid     done }  trap killemall INT  wait 
like image 41
Gustavo Meira Avatar answered Oct 11 '22 13:10

Gustavo Meira