Terminal 컬러adb logcat
3707 단어 Android
하고 싶은 일
리눅스의 테미널에서도 안드로이드 스튜디오와 같은 로고 레벨마다 색깔이 있는adb logcat을 실현하고 싶습니다.
IDE의logcat은 영역이 작고 조작도 어려워서 다른 윈도우의Terminal에서 같은 일을 하려고 합니다.
2010년쯤에 선배님이 가르쳐주신 제품으로 정하기 전에 계속 쓰던 스크립트예요.
Code
shell script
logcat.sh#!/bin/sh
while true; do
adb logcat -v time | logcat_color.awk
echo "#### DEVICE DISCONNECTED !"
done
logcat 출력adb logcatcolor.계속해서 awk한테 맡겨.
USB가 끊기면 프롬프트가 표시되어 연결 대기 상태가 됩니다.
Ctrl+C로 끝냅니다.
awk
logcat_color.awk#!/usr/bin/awk -f
# adb logcat -v time
/^.* V\/.*$/ { print "\033[0m" $0 }
/^.* D\/.*$/ { print "\033[0;34m" $0 "\033[0m" }
/^.* I\/.*$/ { print "\033[0;32m" $0 "\033[0m" }
/^.* W\/.*$/ { print "\033[0;31m" $0 "\033[0m" }
/^.* E\/.*$/ { print "\033[1;31m" $0 "\033[0m" }
Logo Level(V, D, I, W, E)을 판정하고 print를 위해 Text Style을 지정합니다.
//사이는 awk의 정규 표현식으로, 다음 구문을 사용하여 각 Logo Level을 판정합니다."^" : 行頭
".*" : 何かの文字が復数個
" E\/" : " E/" の存在判定
".*" : 何かの文字が複数個
"$" : 文字列終端
위의 예는adb logcat-v time의 출력용입니다.logcat의 옵션은 문장을 어떻게 판단하는지 맞춤형으로 만들어야 합니다.
Terminal에 실제로 표시되는 섹션은 각 Logo Level에서 다음 스타일과 color를 지정합니다.ESC[<色コード>m : これ以降のstyleとcolor指定
print "\033[<色コード変える>m" $0 "\033[<色コード戻す>m"
("\033" = ESC)
\033[0m : Default
\033[0;34m : Blue
\033[0;32m : Green
\033[0;31m : Red
\033[1;31m : Bold Red
Logicat 출력
Path를 통해 위의 두 파일을 Terminal
$ logcat.sh
의 경우 출력은 다음과 같습니다. 각 Logo Level마다 다른 색상이 있어 이해하기 쉽습니다.
Error Level로 개발 중인 일시적 로그 등을 출력해 주변 로그 확인에 맞춰 출력하는 등 편리하다.
///---
Reference
이 문제에 관하여(Terminal 컬러adb logcat), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/fezrestia/items/bfd48decebe024bc9ba2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
shell script
logcat.sh
#!/bin/sh
while true; do
adb logcat -v time | logcat_color.awk
echo "#### DEVICE DISCONNECTED !"
done
logcat 출력adb logcatcolor.계속해서 awk한테 맡겨.USB가 끊기면 프롬프트가 표시되어 연결 대기 상태가 됩니다.
Ctrl+C로 끝냅니다.
awk
logcat_color.awk
#!/usr/bin/awk -f
# adb logcat -v time
/^.* V\/.*$/ { print "\033[0m" $0 }
/^.* D\/.*$/ { print "\033[0;34m" $0 "\033[0m" }
/^.* I\/.*$/ { print "\033[0;32m" $0 "\033[0m" }
/^.* W\/.*$/ { print "\033[0;31m" $0 "\033[0m" }
/^.* E\/.*$/ { print "\033[1;31m" $0 "\033[0m" }
Logo Level(V, D, I, W, E)을 판정하고 print를 위해 Text Style을 지정합니다.//사이는 awk의 정규 표현식으로, 다음 구문을 사용하여 각 Logo Level을 판정합니다.
"^" : 行頭
".*" : 何かの文字が復数個
" E\/" : " E/" の存在判定
".*" : 何かの文字が複数個
"$" : 文字列終端
위의 예는adb logcat-v time의 출력용입니다.logcat의 옵션은 문장을 어떻게 판단하는지 맞춤형으로 만들어야 합니다.Terminal에 실제로 표시되는 섹션은 각 Logo Level에서 다음 스타일과 color를 지정합니다.
ESC[<色コード>m : これ以降のstyleとcolor指定
print "\033[<色コード変える>m" $0 "\033[<色コード戻す>m"
("\033" = ESC)
\033[0m : Default
\033[0;34m : Blue
\033[0;32m : Green
\033[0;31m : Red
\033[1;31m : Bold Red
Logicat 출력
Path를 통해 위의 두 파일을 Terminal
$ logcat.sh
의 경우 출력은 다음과 같습니다. 각 Logo Level마다 다른 색상이 있어 이해하기 쉽습니다.
Error Level로 개발 중인 일시적 로그 등을 출력해 주변 로그 확인에 맞춰 출력하는 등 편리하다.
///---
Reference
이 문제에 관하여(Terminal 컬러adb logcat), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/fezrestia/items/bfd48decebe024bc9ba2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Terminal 컬러adb logcat), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/fezrestia/items/bfd48decebe024bc9ba2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)