내 로그 호출을 표시하지 않는 Logcat


114

저는 Android 프로그래밍에 능숙하고 앱을 디버깅하는 방법을 배우고 싶었습니다. LogCat에 Log.i | d | v 호출이 표시되지 않는 것 같습니다.

제가 사용하고있는 코드는 다음과 같습니다. 보시다시피 LOG_TAG 상수를 정의했지만 LogCat에서 찾을 수없는 것 같습니다. 또한 android.util.Log를 가져 왔고 AndroidManifest에서 "debuggable"이 TRUE로 설정되어 있는지 확인했습니다.

나는 또한 이 문제를 해결하는 데 행운이없는 http://developer.android.com/reference/android/util/Log.html 을 확인 했습니다.

내가 뭘 잘못하고 있죠? 나는 올바른 장소를 찾고 있습니까? 나는 운없이 DDMS 및 디버그 관점을 사용해 보았습니다. 이 멍청이에게 도움을 주시면 대단히 감사하겠습니다. 감사.

내 환경 : Windows XP IDE = Eclipse 버전 : 3.6.1, 빌드 ID : M20100909-0800 에뮬레이터 = android sdk 2.1 api 7을 가리킴

// 두 개의 Log.i 호출이있는 매우 기본적인 HELLO World 코드

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class debugger extends Activity {
    private static final String LOG_TAG = "debugger";

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        Log.i(LOG_TAG, "line 13");
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Log.i(LOG_TAG, "CREATING NOW");
    }
}

잘못하고있는 것 같지 않습니다. 활동이 시작되고 있습니까? logcat보기에 설정된 필터가 있습니까? logcat의 명령 줄 버전을 사용해 보셨습니까? (adb logcat)
Cheryl Simon

예, 명령 줄을 시도하고 txt 파일로 출력했지만 여전히 찾을 수 없습니다. 에뮬레이터에 "Hello World"메시지가 표시되어 활동이 시작되었음을 알고 있습니다. 나는 필터를 사용하거나 사용하지 않고 logcat을 보려고 시도했지만 여전히 운이 없습니다.
Cavachon 2010

명령 줄 adb logcat을 시도하고 먼저 아무것도 필터링하지 마십시오. 귀하의 코드가 작동하고 로그에 인쇄되고 있다고 확신합니다.
Heikki Toivonen

LogCat은 전혀 작동합니까? 예를 들어 다른 앱 (예 : 시스템 앱)의 로그 항목이 표시됩니까?
Vit Khudenko 2010

기기별로 다를 수 있습니다. 우리는 때때로 전화 숨겨진 메뉴에서 로그를 활성화해야합니다. stackoverflow.com/a/43999262/2783229
nitesh

답변:


143

Eclipse를 사용할 때 DDMS 관점에서 올바른 장치 (적절하게 emulator-xxxx)를 선택하고 강조 표시했는지 확인하십시오. 그래야만 logcat보기에서 logcat 출력을 얻을 수 있습니다.

또한 Android 플러그인은 약간 기발하며 때로는 logcat보기의 마지막 줄만 표시합니다. 이 경우 로그를 지우십시오. 그 후에 모든 로그 항목을 다시 가져와야합니다 (어쨌든 나를 위해 작동합니다).


예, 내가 가진 모든 문제도 있습니다. Logcat보기 내에서 스크롤하면 아래쪽으로 다시 스크롤 할 때까지 향후 업데이트와 함께 자동으로 스크롤되지 않습니다.
Mike Yockey

2
하아! 나는 이것을 잠시 동안 싸우고 있었다. DDMS를 열었고 이전 에뮬레이터를 선택했습니다. 현재 실행중인 에뮬레이터가 기본값이 아닌 이유는 이상합니다.
Will Curran 2011 년

ddewaele의 답변이 내 문제를 해결했습니다. LogCat에 초점을 맞춰야합니다. 참고로 장치 메뉴를 불러 오기 위해 관점을 변경할 필요가 없습니다. 그냥 창 >>보기보기 >> 기타 >> Android >> 장치로 이동하여 장치 패널을 불러옵니다
Jay

@yock 스크롤 한 지점에서 멈추고 읽으려는 가정이기 때문에 의도적이라고 생각합니다.
Michael Mior

1
Hahaha 너무 멍청해서 DDMS가 무엇인지, 어디서 찾을 수 있는지조차 모릅니다.
Neon Warge 2015 년

71

다른 모든 방법이 실패하는 경우 :

위의 모든 작업을 수행했지만 무엇이 잘못되었는지 파악할 수 없었습니다.

테스트 :

adb logcat

내 항목이 실제로 logcat에 있다는 것을 알아 내기 위해,하지만 그게 별난 것입니다.

고치다:

이클립스 다시 시작

이것은 그것을 고친 유일한 것입니다.


1
이것은 작동하지만이 문제가 나에게 많이 발생하므로 Eclipse를 계속 다시 시작할 수 없습니다. 누구에게 더 나은 솔루션이 있습니까?
Khaled Alanezi 2014-08-14

@KhaledAlanezi는 명령 프롬프트 또는 Windows powershell에서 logcat을 사용하는 것을 고려해야합니다 (더 나은).
Dheeraj Bhaskar

1
나는 이것이 일어날 때마다 일식을 다시 시작하고 항상 문제를 해결합니다. 보통 하루에 한 번 발생하지만 이미 이클립스에 실망하는 데 익숙해
프로그래머

2
@programmer은 더 이상, 안드로이드 스튜디오 내 친구 : 이동 일식에 실망되지
Dheeraj 바스 카르

1
원격 컴퓨터에서 에뮬레이터를 사용하는 경우 Eclipse를 다시 시작해도 작동하지 않습니다. Logcat은 아무것도 표시하지 않지만 adb logcat좋은 팁입니다.
soger

12

Android Studio를 사용하여 동일한 문제가 발생 No Filters했으며 LogCat의 오른쪽 상단 모서리에있는 선택 상자를 선택 하여 돌아 다닐 수있었습니다 . 이렇게함으로써 나는 내 누락 된 로그 호출을 포함하여 백그라운드에서 Android 로그를 LogCat에 모두 수신하기 시작했습니다.

여기에 이미지 설명 입력


9

Eclipse를 다시 시작하면 로그 고양이가 표시됩니다.


6

나는 android.util.Log 대신 com.sileria.Log (일부 라이브러리 프로젝트에서)를 자동으로 가져오고 있다는 것을 알아 냈습니다 . 수입품도 확인하십시오.


3

Eclipse가 Android 앱을 시작할 때 가끔 예외가 발생하고 LogCat이 업데이트를 중지한다는 것을 알았습니다. 간단히 Eclipse를 다시 시작하여 수정했습니다. 나는 당신이 그것을 시도했는지 확실하지 않으며 최적의 솔루션과는 거리가 멀다는 것을 알고 있지만 Eclipse 플러그인에는 여전히 해결해야 할 몇 가지 버그가 있다고 생각합니다.


3

가장 쉬운 방법:

logcat 창에서 확인-오른쪽 상단 모서리 일시 중지 버튼 || (새 logcat 메시지 수신 일시 중지)

몇 번의 클릭 + 결국 이클립스 다시 시작 (일반적으로 제 경우에서 작동)


3

명령을 사용하여 adb 서비스를 다시 시작해야했습니다. adb usb

이 전에는 모든 로깅을 얻고 디버그 할 수 있었지만 자체 로그 라인을 얻지 못했습니다 (예, 애플리케이션과 관련된 시스템 로깅을 얻었습니다).


나는 또한 이것을 가지고 있습니다-자체 로그 라인을 얻지 못했습니다. 그러나 이것은 도움이되지 않았습니다 :(
Ixx

2

로그가 표시되지 않는 데는 여러 가지 이유가 있으며 대부분은 아래에 나열되어 있습니다. 대부분의 이유를 확인하는 몇 가지 단계는 다음과 같습니다.

  1. AndroidManifest.xml에 'android : debuggable = "false"'가 없는지 확인하세요.
  2. logcat이 일시 중지되지 않았는지 확인하고 맨 아래로 스크롤되었는지 확인하십시오.
  3. 필터는 '필터 없음'이거나 현재 앱이어야합니다.
  4. logcat 장치 목록에서 올바른 장치를 선택했습니다.
  5. 당신이 얻는하지 않는 경우 어떤 메시지를, ADB를 다시 시작하십시오. Android Studio에서 '다시 시작'아이콘을 클릭하면됩니다. logcat의 인쇄 아이콘 바로 뒤에 있으며 상자에서 나오는 녹색 곡선 화살표처럼 보입니다. 표시되지 않으면 logcat이 너무 작을 때 아이콘 메뉴가 계속되는 '>>'위로 마우스를 이동하십시오.

2

Android Studio에서 : 로깅을 다시 시작하려면 오른쪽을 가리키는 녹색 화살표를 클릭하십시오. 보이지 않는 경우 >> 아이콘을 클릭하여 찾습니다.


1

저는 Android-Eclipse의 초보자이기도합니다. Eclipse에서 LogCat 메시지를 표시하는 데 필요한 작업은 다음과 같습니다. 1 : logcat 메시지가 호출되는 클래스에 이것을 추가합니다. private static final String TAG = "MyActivity"; ( 여기에 있는 문서 에 따라 )

2 :이 Log.i (TAG, "inLayout-finished"); 추가 메시지를 표시하고 싶을 때

위의 방법이 작동하지 않으면 Eclipse를 종료하고 다시 시작한 다음 프로젝트를 다시 실행하십시오.

그러면 작동합니다.


1

주의해야 할 것이 한 가지 더 있습니다.

logcat의 오른쪽 상단에는 유형별로 메시지를 필터링 하는 드롭 다운 테이블 이 있습니다. 찾고있는 레벨에 있는지 확인하십시오 (어설 션 레벨에있을 경우 logcat을 비워 둘 것입니다).


1

작업 관리자로 이동하여 adb.exe 프로세스를 종료하십시오. 이클립스를 다시 시작하십시오.

또는

adb kill-server를 시도한 다음 adb start-server 명령을 시도하십시오 .


1

아마도 그것은 정확하지 않고 조금 더 길지만 이것을 사용 하여이 문제 (Android Studio)를 해결했습니다.

System.out.println("Some text here");

이렇게 :

try {
       ...code here...
} catch(Exception e) {
  System.out.println("Error desc: " + e.getMessage());
}

1

나는 그런 사건에 몇 시간을 보냈다. 터치 키 로그 만 보았습니다. 더 이상은 없습니다. 문제는 ... 스마트 폰이었습니다. 다시 시작한 후 괜찮 았습니다. 케이블 분리로 인해 문제가 반환되었습니다. 다시 시작해야했습니다. Android USB 통신이 제대로 설계되지 않은 것 같습니다.


감사합니다! 사실, USB 디버깅과 관련하여 전화기의 퀵 메뉴에있는 USB 설정이었습니다. 충전 만에서 파일 전송으로 변경하는 습관이 생겼습니다. 하지만 충전 만하면 로깅이 작동합니다. 몇 년 후 Android 프로그래밍으로 돌아 왔는데, 이로 인해 학습 곡선이 정말 힘들었습니다.
wwfloyd

그런 다음 로깅 중 일부만 얻었습니다. 최근에 추가 된 모든 것은 무시되었습니다. Android Studio에서 Clean and Rerun으로 정렬되었습니다.
wwfloyd


0

SDK 4.0.3을 사용하면 디버그 구성> 프로젝트> 대상에서 명시 적으로 선택해야합니다. 그렇지 않으면 Eclipse Indigo (3.7)를 사용하여 표시되지 않습니다. 물론 일식 재시작이 계속됩니다.


0

logcat에서도 간단한 로그 출력을 보는 데 문제가 있습니다. 최신 JDK를 설치했을 때 문제가 해결되었습니다. 방금 새 개발 시스템을 설정하고 JRE 만 설치하고 JDK를 설치하는 것이 저에게 효과적이었습니다.


0

다른 답변 중 어느 것도 나를 위해 일하지 않았지만 이것은 효과가 있습니다.

작업 공간에서 프로젝트를 제거한 다음 프로젝트 폴더에서 점 (.settings, .project 등)으로 시작하는 모든 항목을 삭제했습니다. 그런 다음 프로젝션을 다시 가져 왔습니다. 일부 설정과 중단 점이 누락되었지만 적어도 작동합니다.


0

이 문제가 발생했으며 로그 호출을 핸들러로 옮길 때까지 아무것도 작동하지 않는 것 같습니다. 이제 어디에 있든 매번 작동합니다.


0

logcat 검색 창에 검색어를 입력하는 실수를 저질렀습니다. 삭제하는 것을 잊었으므로 새 로그를 볼 수 없습니다. 내 검색어와 일치하지 않아 표시되지 않았기 때문입니다.


0

제 경우에는 다음 줄을 제거해야했습니다.

    <application
         android:debuggable="false"  <!-- Remove this line -->
         ..../>

내 Manifest 파일의 애플리케이션 태그에서.


0

나에게 가장 좋은 해결책은 adb 서버를 다시 시작 하는 것입니다 ( Android 스튜디오 에서 ADB 통합을 활성화 한 동안 -도구 -Android- 선택). 이 작업을 빠르게 수행하기 위해 다음 과 같이 디렉터리 ( 위치) adbr.bat내에 파일을 만들었습니다 .android-sdk\platform-toolsadb.exe

adb kill-server
adb start-server

이 폴더는 PATH 시스템 변수에 있기 때문에 항상 adbAndroid 스튜디오에서 다시 시작해야 할 때 터미널에만 쓸 adbr수 있으며 완료됩니다.

이 작업을 수행하는 또 다른 옵션은 작은 화살표 오른쪽에있는 Reset adb를 클릭 한 후 Devices 탭 -Menu의 Android Device Monitor 를 사용하는 것 입니다.


0

일식의 경우 : 1) ddms 관점으로 이동합니다. 2) 올바른 장치가 선택되었는지 확인하십시오. 3) 이미 선택되어 있고 로그가 표시되지 않는 경우 ABD를 다시 시작하십시오. * 이것이 해결되기를 바랍니다.


0

"adb usb"로 ADB 서비스도 다시 시작하고 문제를 해결했습니다. 사실 내 활동 중 하나만 더 이상 기록되지 않았습니다. 다른 모든 사람들은 로그 작업을했습니다. adb를 다시 시작하면 모든 것이 다시 매력처럼 작동합니다. 다른 솔루션을 찾고있는 다른 사람들의 경우 : adb kill-server, CLI의 adb start-server가 문제를 해결하는 경우가 많습니다.


0

LogCat이 다시 시작되면 앱을 강제 종료하십시오 ...

강제 종료를 위해 이것을 사용하십시오 : D

setContentView(BIND_AUTO_CREATE);

0

때로는 IDE, ADB 등의 PC에서 문제가 발생 하지 않지만 ADB로 로그를 보내지 않는 장치에서 발생 하므로 이전에 언급 한 모든 방법을 시도했지만 여전히 logcat이 비어 있으면 다시 시작하십시오. 장치를 다시 시도하십시오 . 위에서 언급 한 모든 방법을 시도했지만 둘 다 작동하지 않았지만 전화를 다시 시작한 후 logcat이 마술처럼 작동했습니다.


장치가 ADB에 로그를 보낼 수 있는지 확인하는 방법은 무엇입니까?
JCarlosR

솔루션의 방법으로도 문제가 해결되지 위의 경우 @JCarlos는 장치를 다시 시작합니다
Code_Worm

AndroidMonitor는 Log스마트 폰에서 앱을 사용 하고 실행할 때 메시지를 표시 하지만 스마트 워치에서는 작동하지 않습니다. 나는 설정을 찾고 있었지만 모든 것이 좋아 보인다.
JCarlosR

0

이 문제가 있고 공백이없는 String TAG가 수정되었습니다.

"my tag"//
"my_tag" 표시 // 괜찮음


0

제 경우에는 문자열에 이름을 추가해야했습니다. 먼저 괄호 사이에 공백이있었습니다.

private static final String TAG = " ";

그러나 이름을 추가하면 완벽하게 작동했습니다.

private static final String TAG = "oncreate";

0

Android 3.6.1로 업그레이드 한 후이 문제가 여러 번 발생했습니다. 내 경우에 작동하는 유일한 것은 장치를 다시 시작하는 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.