116

I'm a total noob at Android programming, and wanted to learn how to debug my apps. I can't seem to have my Log.i|d|v calls displayed in the LogCat.

Here's the code that I'm using. As you can see I have defined a LOG_TAG constant, but can't seem to find it in the LogCat. I have also imported android.util.Log AND I have made sure that in my AndroidManifest I have "debuggable" set to TRUE.

I have also checked http://developer.android.com/reference/android/util/Log.html w/o any luck resolving this issue.

What am I doing wrong? Am I even looking in the right place? I've tried using the DDMS and Debug perspective as well w/o any luck. Any help to this noob would be greatly appreciated. Thanks.

My environment: Windows XP IDE = Eclipse Version: 3.6.1, Build id: M20100909-0800 Emulator = having it point to android sdk 2.1 api 7

//very basic HELLO World code with a couple of Log.i calls

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");
    }
}
Cheryl Simon
  • 46,552
  • 15
  • 93
  • 82
Cavachon
  • 2,819
  • 4
  • 21
  • 20
  • It doesn't look like you are doing anything wrong, are you sure that your Activity is being started? Do you have any filters set in the logcat view? Did you try command line version of logcat? (adb logcat) – Cheryl Simon Nov 19 '10 at 19:39
  • Yes, tried the command line and outputted to a txt file and still couldn't find it. I know the Activity started because I see the "Hello World" message in the emulator. I tried viewing the logcat with and without filters and still no luck. – Cavachon Nov 19 '10 at 19:54
  • Try the command line adb logcat and don't filter anything first. I am pretty sure your code is working and printing to the log. – Heikki Toivonen Nov 19 '10 at 19:56
  • Does LogCat work at all? E.g. do you see log entries from another apps (system apps, for instance)? – Vit Khudenko Nov 19 '10 at 22:41
  • It could be device specific. we sometime need to enable logs from phone hidden menu http://stackoverflow.com/a/43999262/2783229 – Nitesh Tiwari May 16 '17 at 15:02

31 Answers31

144

When using Eclipse, in the DDMS perspective, make sure the correct device (propably emulator-xxxx) is selected and highlighted. Only then will you get the logcat output in the logcat view.

Also, the Android plugin is a bit quircky, and sometimes only shows the last line in the logcat view. If this happens, try to clear the log. After that, you should get all the log entries again (works for me anyway).

ddewaele
  • 22,363
  • 10
  • 69
  • 82
  • Yes, all issues I've had as well. If you scroll within the Logcat view it won't scroll with future updates automatically until you scroll back to the bottom. – Mike Yockey Nov 19 '10 at 19:59
  • 2
    Ha! I was fighting this for a while. Opened DDMS and I had an old emulator selected. Why it doesn't default to the currently running emulator is odd. – Will Curran Jun 14 '11 at 02:30
  • @yock I believe that's intentional as the assumption is you want to stop and read at the point you scrolled to. – Michael Mior Oct 14 '12 at 02:59
  • ddewaele's answer solved my problem, you just need to let LogCat where its focus should be. As a side note you do not have to change perspective to bring up the devices menu Just go Window>>Show View>> Other>> Android>> Devices to bring up the devices panel – Jay Aug 29 '11 at 03:46
  • 1
    Hahaha I am so stupid I don't know what DDMS is and even where to find it. – Neon Warge Sep 13 '15 at 06:55
  • This was the solution in Android Studio as well. – The Unknown Dev Jan 02 '17 at 16:29
72

If all else fails:

I did all the above things and couldn't figure out what was wrong,

Test with:

adb logcat

to figure out that my entries were infact in logcat, but twas adt's quirks.

Fix:

Restart eclipse

This was the only thing that fixed it.

Dheeraj Bhaskar
  • 18,633
  • 9
  • 63
  • 66
  • 1
    This works, but I can't keep restarting Eclipse as this issue happens a lot for me. Does anyone have a better solution? – Khaled Alanezi Aug 14 '14 at 20:13
  • @KhaledAlanezi then should consider using logcat from command prompt or windows powershell (better). – Dheeraj Bhaskar Aug 15 '14 at 06:00
  • 1
    i just restart eclipse every time this happens and it always solves the issue. it usually happens once a day but i am already used to being disappointed from eclipse.. – programmer Aug 07 '15 at 13:14
  • 2
    @programmer be disappointed with eclipse no more, move to Android Studio, my friend :) – Dheeraj Bhaskar Aug 10 '15 at 10:40
  • 1
    For me using an emulator on a remote machine restarting eclipse does not work Logcat never shows anything but `adb logcat` is a good tip, it works so upvote. – soger Nov 23 '16 at 16:42
  • @soger you should be using Android Studio if you're not yet using it, mate :-) – Dheeraj Bhaskar Nov 25 '16 at 09:38
12

I've had the same problem using Android Studio and managed to get around by selecting No Filters in the select box in the top right corner of LogCat. By doing this I started receiving everything Android logs in the background into LogCat including my missing Log calls.

enter image description here

CIRCLE
  • 4,501
  • 5
  • 37
  • 56
9

Restart Eclipse and check log cat will be displayed.

anjaneya
  • 708
  • 9
  • 11
6

I figured out I was automatically importing com.sileria.Log (from some library project) instead of android.util.Log, where the latter was the correct one. Check your imports as well.

Marek Walasek
  • 65
  • 1
  • 3
3

I've noticed that Eclipse will sometimes throw an exception upon starting an Android app, then LogCat stops updating. I've corrected that by simply restarting Eclipse. I'm not sure if you've tried that and I know it's far from an optimal solution, but I suspect that the Eclipse plugin still has a few bugs to iron out.

Mike Yockey
  • 4,565
  • 22
  • 41
3

I needed to restart the adb service with the command adb usb

Prior to this I was getting all logging and able to debug, but wasn't getting my own log lines (yes, I was getting system logging associated with my application).

Philip Kirkbride
  • 21,381
  • 38
  • 125
  • 225
Jim Rush
  • 4,143
  • 3
  • 25
  • 27
3

Easiest way:

Check in your logcat window - TOP RIGHT corner PAUSE button || (Pause receiving new logcat messages)

Few clicks + eventually restart eclipse (usually works in my case)

fider
  • 1,976
  • 26
  • 29
2

On Android Studio: Click on the green arrow pointing to the right to restart the logging; if it is not visible, click on the >> icons to locate it.

Ed_
  • 973
  • 11
  • 25
2

There are a number of reasons why you might not see logs, most of which are listed below. Here are some steps to check most reasons:

  1. Make sure you don't have 'android:debuggable="false"' in your AndroidManifest.xml
  2. Make sure your logcat isn't paused and make sure you are scrolled to the bottom
  3. Your filters should either be 'no filters' or your current app
  4. You have the correct device selected in your logcat devices list
  5. If you're not getting any messages, try restarting adb. You can do that from Android Studio by clicking on the 'restart' icon, it's right after the print icon for logcat and it looks like a green curved arrow coming out of a box. If you don't see it, mouse over the '>>' that continues the icon menu when the logcat is too small.
2

QUICK FIX.

Just restart the eclipse

Works Perfect.

Ali Akram
  • 4,803
  • 3
  • 29
  • 38
1

I'm a newb as well to Android-Eclipse. Here's what it took for me to get LogCat messages to display in Eclipse: 1: add this to the class in which the logcat message is called: private static final String TAG = "MyActivity"; (per the documentation here)

2: add this Log.i(TAG, "inLayout - finished"); when you where you want to display a message

If the above doesn't work, then shutdonw Eclipse and restart it and rerun your project.

It should then work.

Jazzmine
  • 1,837
  • 8
  • 36
  • 54
1

There is one more thing to watch for:

On the top right side of the logcat there is a dropdown table for filtering messages by type. Make sure it's on the level you are looking for (if it will be on the assert level, it will likely leave your logcat empty).

Itai Hanski
  • 8,540
  • 5
  • 45
  • 65
1

Probably it's not be correct, and a little bit longer, but I solved this problem (Android Studio) by using this:

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

Like this:

try {
       ...code here...
} catch(Exception e) {
  System.out.println("Error desc: " + e.getMessage());
}
Jared Burrows
  • 54,294
  • 25
  • 151
  • 185
1

Please go to Task Manager and kill the adb.exe process. Restart your eclipse again.

or

try adb kill-server and then adb start-server command.

Arghya
  • 59
  • 3
1

I spent several hours on such case. I saw only touch keys logs. Nothing more. Problem was... smarthphone. After restarting was OK. Disconnecting cable caused problem returned. Had to restart it again. Looks like the Android USB communication is not well designed.

Alex Burton
  • 49
  • 1
  • 8
  • Thank you! Actually, it was the USB setting on the phone's quick menu... with regard to USB debugging. I had gotten into the habit of changing from Charging Only, to Transfer Files. BUT, Charging Only is what made the logging work. I'm just getting back to Android programming after a few years away, and, this was really cramping my learning curve. – wwfloyd Dec 14 '16 at 00:39
  • Then, I was only getting some of the logging... everything recently added was ignored. Got that sorted with Clean and Rerun, in Android Studio. – wwfloyd Dec 14 '16 at 03:18
0

Using the SDK 4.0.3 you have to explicitly select it on debug configurations > project > target or else it will never show using Eclipse Indigo (3.7). Of course an eclipse restart ensues.

Luis Robles
  • 148
  • 3
  • 7
0

I had a problem seeing simple log output in logcat as well. My problem was solved when I installed the latest JDK. I just setup a new development machine and only had the JRE installed and instaling the JDK worked for me.

Jeff LaFay
  • 12,882
  • 13
  • 71
  • 101
0

None of the other answers worked for me, but this did:

I removed my project from my workspace, then deleted anything that started with a dot (.settings, .project, etc.) from the project folder. Then I re-imported the projected. I'm missing some settings and breakpoints but at least it works.

rmooney
  • 6,123
  • 3
  • 29
  • 29
0

I had been experiencing this problem and nothing seemed to work until I moved the log call into a handler. Now it works every time, no matter where you are at.

a54studio
  • 965
  • 11
  • 11
0

I made the mistake of typing in a search term in the logcat search box. I forgot to delete it and hence couldn't see the new logs. Since they didn't match my search term and weren't displayed.

Bilbo Baggins
  • 3,644
  • 8
  • 40
  • 64
0

In my case, I had to remove this line:

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

From Application tag in my Manifest file.

nmvictor
  • 1,109
  • 1
  • 15
  • 30
0

Best solution for me was restart adb server (while I have Enabled ADB integration in Android studio - Tools - Android - checked). To do this quickly I created adbr.bat file inside android-sdk\platform-tools directory (where is adb.exe located) with this inside:

adb kill-server
adb start-server

Because I have this folder in PATH system variable, always when I need restart adb from Android studio, I can write only into terminal adbr and it is done.

Another option to do this is through Android Device Monitor in Devices tab - Menu after click on small arrow right - Reset adb.

Atiris
  • 2,613
  • 2
  • 28
  • 42
0

For eclipse: 1) Go to ddms perspective. 2) Make sure that correct device is selected. 3) If already selected and not displaying logs, then restart ABD. * Hope this will solve.

Karthik
  • 21
  • 4
0

I restarted the ADB service as well with "adb usb" and fixes the problem for me. In fact, only one of my activities didn't log anymore. All the others did log stuff. After restart adb everything works like a charm again. For the other people who're searching for another solution: adb kill-server, adb start-server in CLI will often fix your problem aswell.

0

make your app force close once this will start LogCat again ...

use this for force close :D

setContentView(BIND_AUTO_CREATE);
user4254398
  • 373
  • 3
  • 12
0

some times the problem is not from pc on the other hand IDE,ADB etc, but it arises from your device that doesn't send logs to ADB so if you tried all the ways mentioned before and still your logcat is empty try to restart your device and try again.I tried all the ways mentioned above and neither of them worked but after a restart on my phone logcat worked like magic

Code_Worm
  • 4,069
  • 2
  • 30
  • 35
  • How to check if the device is able to send logs to ADB? – JCarlosR Jul 14 '17 at 13:31
  • @JCarlos try restarting your device if none of the solutions above worked – Code_Worm Jul 16 '17 at 06:42
  • The AndroidMonitor shows the messages when I use the `Log` and run the app from my smartphone, but it is not working from my smartwatch. I was looking the settings but all seems good. – JCarlosR Jul 17 '17 at 14:27
0

I have this problems and fixed, String TAG without space:

"my tag" // noting show
"my_tag" // is ok

jahangiri
  • 1
  • 1
0

In my case I just had to add a name to the String. In first instance I just had a space in between the brackets

private static final String TAG = " ";

but after adding a name it worked perfectly.

private static final String TAG = "oncreate";
0

After upgrade to Android 3.6.1, I have experienced this issue multiple times. The only thing that works in my case is RESTARTING THE DEVICE.

Pablo Alfonso
  • 2,317
  • 1
  • 18
  • 24
-3

You're trying to put Running Code on Working space.. so try to put your code on running code..

shabeer
  • 143
  • 1
  • 8