2016-10-11 7 views
0

버퍼가 가득 차면 logcat을 파일로 출력 한 다음 로그 메시지가 누락되지 않도록 버퍼를 지울 수 있습니까?logcat을 파일로 출력하고 로그를 누락시키지 않고 버퍼 플러시

logcat -d가 출력되고 닫히고 -c가 현재 로그를 지우는 것을 알고 있지만 이상적이지 않습니다.

이것은 잠재적으로 파일을 쓰고 버퍼를 플러시하는 사이에 더 많은 로그가 logcat에 보내지는 경쟁 조건입니다.

+0

나중에 뭘 이해할 수없는 몇 가지 코드를 추가합니다. –

+0

안드로이드 로깅에 대한 대안이 필요한 경우, 무엇을 성취하려고하는지 잘 모르겠습니다. https://github.com/JakeWharton/timber를 확인하십시오. 그것은 훌륭한 도서관이고, 당신은 그 라이브러리를 사용하여 어떤 것 (귀하의 경우에는 파일)에 로그 메시지를 출력 할 수 있습니다. – Sudara

+0

내 목표는 logcat이 장치에서 서비스로 계속 실행되도록하는 것입니다.이 서비스는 버퍼가있을 때 파일로 출력됩니다. 버퍼에 로그 메시지를 입력하지 않고 버퍼를 가득 채우고 지우고 파일 출력과 지우기 사이에 버퍼를 지 웁니다. – Kurter21

답변

0

이것은 아마 작동합니다

logcat -d -f /out.txt && logcat -c 
+0

방금 ​​해봤지만 제대로 작동합니다. bash 루프에 넣으면 logcat을 out.txt로 계속 출력하고 다음 출력 전에 버퍼를 지워야합니다. -d는 출력을 알려주고 멈 춥니 다. -f는 파일로 덤프하도록 지시합니다. &&는 동일한 행에서 두 개의 순차 명령문을 실행하는 bash 방식입니다. -f는 logcat 버퍼를 지 웁니다. – AlfredP