android2022. 10. 25. 22:38

 

/system/bin/logcat -v threadtime -f [출력파일명] -r [파일순환할 크기 kbytes] -n [몇개의 파일로] -s [TAG명]:[출력레벨]...

 

ex)

/system/bin/logcat -v threadtime -f /sdcard/logcat -r 10000 -n 10 -s bt_btif:W bt_a2dp:W bt_btif:W;

 

옵션

다음 표는 logcat의 명령줄 옵션을 설명합니다.

옵션설명
-b <buffer> 보기 위한 대체 로그 버퍼를 로드합니다(예: events 또는 radio). main, system  crash 버퍼 세트가 기본적으로 사용됩니다. 대체 로그 버퍼 보기를 참조하세요.
-c, --clear 선택한 버퍼를 지우고(플러시하고) 종료합니다. 기본 버퍼 세트는 main, system, crash입니다. 모든 버퍼를 지우려면 -b all -c를 사용합니다.
-e <expr>, --regex=<expr> 로그 메시지가 <expr>과 일치하는 줄만 출력합니다. 여기서 <expr>은 정규 표현식입니다.
-m <count>, --max-count=<count> <count>개 줄을 출력한 후 종료합니다. --regex와의 페어링용이지만 자체적으로도 작동합니다.
--print --regex  --max-count와 페어링하면 콘텐츠가 정규식 필터를 우회할 수 있지만, 여전히 올바른 일치 숫자에서 중지합니다.
-d 로그를 화면에 덤프하고 종료합니다.
-f <filename> 로그 메시지 출력을 <filename>에 씁니다. 기본값은 stdout입니다.
-g, --buffer-size 지정된 로그 버퍼의 크기를 출력하고 종료합니다.
-n <count> 순환되는 로그의 최대 수를 <count>로 설정합니다. 기본값은 4입니다. -r 옵션이 필요합니다.
-r <kbytes> <kbytes> 출력마다 로그 파일을 순환시킵니다. 기본값은 16입니다. -f 옵션이 필요합니다.
-s 모든 태그의 우선순위를 'silent'로 설정하는 필터 표현식 '*:S'와 동일하며, 콘텐츠를 추가하는 필터 표현식 목록 앞에 두기 위해 사용합니다. 자세한 내용은 로그 출력 필터링 섹션을 참고하세요.
-v <format> 로그 메시지의 출력 형식을 설정합니다. 기본값은 threadtime 형식입니다. 지원되는 형식의 목록은 로그 출력 형식 제어 섹션을 참조하세요.
-D, --dividers 각 로그 버퍼 간의 구분선을 출력합니다.
-c 전체 로그를 플러시하고(지우고) 종료합니다.
-t <count> 가장 최근의 줄 수만 출력합니다. 이 옵션은 -d 기능을 포함합니다.
-t '<time>' 지정된 시간 이후 가장 최근의 줄을 출력합니다. 이 옵션은 -d 기능을 포함합니다. 공백이 있는 매개변수에 따옴표를 사용하는 방법에 관한 자세한 내용은 -P 옵션을 참조하세요.
 
-T <count> 지정된 시간 이후 가장 최근의 줄 수를 출력합니다. 이 옵션은 -d 기능을 포함하지 않습니다.
-T '<time>' 지정된 시간 이후 가장 최근의 줄을 출력합니다. 이 옵션은 -d 기능을 포함하지 않습니다. 공백이 있는 매개변수에 따옴표를 사용하는 방법에 관한 자세한 내용은 -P 옵션을 참조하세요.
 
-L, --last 마지막 재부팅 전에 로그를 덤프합니다.
-B, --binary 로그를 바이너리로 출력합니다.
-S, --statistics 로그 스패머를 식별하고 타겟팅할 수 있도록 통계를 출력에 포함합니다.
-G <size> 로그 링 버퍼의 크기를 설정합니다. K 또는 M을 끝에 추가하여 KB나 MB를 표시합니다.
-p, --prune 다음과 같이 허용 목록과 차단 목록을 출력(읽기)하고 인수를 사용하지 않습니다.
 
-P '<list> ...'
--prune '<list> ...' -P '<allowlist_and_denylist>'
허용 목록과 차단 목록을 작성(설정)하여 특정 목적에 맞게 로깅 콘텐츠를 조정합니다. 허용 목록과 차단 목록 항목의 혼합 콘텐츠를 제공합니다. 여기서 <allowlist> 또는 <denylist>는 UID, UID/PID 또는 PID가 될 수 있습니다. Logcat 통계(logcat -S)의 안내에 따라 다음과 같은 목적으로 허용 목록 및 차단 목록을 조정할 수 있습니다.
  • UID 선택을 통해 특정 로깅 콘텐츠에 가장 긴 수명을 부여합니다.
  • 사용자(UID) 또는 프로세스(PID)가 이러한 리소스를 사용하지 못하도록 하여 로그 콘텐츠의 범위를 늘리므로 진단 중인 문제를 더 잘 파악할 수 있습니다.
기본적으로 로깅 시스템은 로그 통계에서 최악의 위반자를 자동 차단하여 동적으로 새로운 로그 메시지의 공간을 만듭니다. 휴리스틱이 고갈되면 시스템은 가장 오래된 항목을 잘라내어 새 메시지를 위한 공간을 확보합니다.
허용 목록을 추가하면 AID(Android Identification Number)가 보호되어 프로세스의 AID 및 GID가 위반자로 선언되는 것을 방지하며, 차단 목록을 추가하면 최악의 위반자로 간주되기 전에 공간을 확보할 수 있습니다. 잘라내기를 얼마나 적극적으로 할지 선택할 수 있습니다. 또한, 각 로그 버퍼의 가장 오래된 항목에서만 콘텐츠를 삭제하도록 잘라내기를 해제할 수도 있습니다.
따옴표
adb logcat은 따옴표를 유지하지 않으므로 다음과 같은 구문으로 허용 목록과 차단 목록을 지정합니다.
 
다음 예에서는 PID 32676 및 UID 675로 허용 목록을 지정하고, PID 32677 및 UID 897로 차단 목록을 지정합니다. 더 빠른 잘라내기를 위해 차단 목록의 PID 32677에 가중치가 적용됩니다.
 
허용 목록 및 차단 목록에 사용할 수 있는 다른 명령어 변형은 다음과 같습니다.
 
--pid=<pid> ... 지정된 PID의 로그만 출력합니다.
--wrap 두 시간 동안 절전 모드일 때 또는 버퍼가 래핑하려고 할 때 중 하나가 먼저 발생하는 경우 about-to-wrap wakeup을 제공하여 폴링의 효율성을 높입니다.

출처 : https://developer.android.com/studio/command-line/logcat?hl=ko 

'android' 카테고리의 다른 글

android omx IL architecture  (0) 2022.11.03
logger size 변경 관련  (0) 2022.10.25
dumpsys package 참조  (0) 2022.09.11
Android 12 : cfi check fail 회피 방법  (1) 2022.06.30
sendevent로 Linux keyevent 전송 방법  (0) 2022.04.01
Posted by easy16