android logcat 로그 수다스러운 모듈 라인 만료 메시지
내 응용 프로그램과 관련된 많은 종류의 logcat 메시지가 표시됩니다.
11-19 19:04:23.872 3327 3440 I chatty : uid=10085 com.xxxx.yyy expire 18 lines
이 로그 메시지는 무엇입니까? 여기에 실제 애플리케이션 logcat 로그가 누락됩니까?
예, 이것은 다른 응용 프로그램이 너무 많은 메시지를 전송했기 때문에 일부 메시지가 실제 로그에 기록되지 않았 음을 나타냅니다.
이것은 Marshmallow (?)의 liblog에서 새로운 것 같습니다. 새 로깅 정책에 대한 명확한 설명을 찾을 수 없거나 실제로있는 경우에도 변경 사항이 여기 에 언급되어 있습니다 .
우리는 애플리케이션이 초당 5 줄 이상을 기록하면 너무 수다 스럽다고 선언했습니다. 이 개발자-상세-디버그 수준의 클래스 로깅 스팸을 생성하는 애플리케이션 소유자에 대해 버그를 신고하십시오. 로그는 256KB입니다. 즉, 응용 프로그램이 DOS 공격을 만들고 로그 시간 범위를 6 초 (!)로 단축하여 다른 모든 사람에게 쓸모가 없음을 의미합니다.
기존 답변 중 실제로 ' 여기에 실제 응용 프로그램 logcat 로그가 누락 되었습니까? ' 질문.
예, 로그가 누락되었습니다. 앱이 logcat에 의해 '수다스러운'것으로 간주되면 (초당 5 줄 이상) 앱의 로그가 축소됩니다.
logcat 용 앱을 허용 목록에 추가하여이 동작을 피할 수 있습니다.
adb logcat -P '<pid or uid of your app>'
다음을 실행하여 현재 화이트리스트와 블랙리스트를 인쇄 할 수 있습니다.
adb logcat -p
또한이 명령은 logcat 통계를 인쇄하는 데 유용합니다.
adb logcat -S
또한 테스트 중에 코드에서 직접 logcat 용 앱을 자동 허용 목록에 추가하는 것이 유용하다는 것을 알았습니다.
int pid = android.os.Process.myPid();
String whiteList = "logcat -P '" + pid + "'";
Runtime.getRuntime().exec(whiteList).waitFor();
자세한 정보는 여기 logcat에 대한 공식 문서에서 찾을 수 있습니다.
다음을 사용하여이 동작을 비활성화 할 수 있습니다.
adb logcat -P ""
다음을 사용하여이 동작을 비활성화 할 수 있습니다.
adb logcat -P ""
또는 설정하여
setprop ro.logd.filter disable
setprop persist.logd.filter disable
코드는 다음에서 확인할 수 있습니다.
http://androidxref.com/7.1.2_r36/xref/system/core/logd/LogWhiteBlackList.cpp
참조 URL : https://stackoverflow.com/questions/34587273/android-logcat-logs-chatty-module-line-expire-message
'programing' 카테고리의 다른 글
AngularJS Core 대 Angular JS Nuget 패키지? (0) | 2021.01.14 |
---|---|
Pandas의 샘플 데이터 세트 (0) | 2021.01.14 |
GCC / clang 어셈블리 출력에서 "노이즈"를 제거하는 방법은 무엇입니까? (0) | 2021.01.14 |
LiveData의 별도의 MutableLiveData 하위 클래스가있는 이유는 무엇입니까? (0) | 2021.01.14 |
GNU C ++ 용 SSE SSE2 및 SSE3 (0) | 2021.01.14 |