title: Java / Android - How to print out a full stack trace?
body: <p>In Android (Java) how do I print out a full stack trace? If my application crashes from nullPointerException or something, it prints out a (almost) full stack trace like so:</p>
  
  <pre><code>java.io.IOException: Attempted read from closed stream.
  com.android.music.sync.common.SoftSyncException: java.io.IOException: Attempted read from closed stream.
      at com.android.music.sync.google.MusicSyncAdapter.getChangesFromServerAsDom(MusicSyncAdapter.java:545)
      at com.android.music.sync.google.MusicSyncAdapter.fetchDataFromServer(MusicSyncAdapter.java:488)
      at com.android.music.sync.common.AbstractSyncAdapter.download(AbstractSyncAdapter.java:417)
      at com.android.music.sync.common.AbstractSyncAdapter.innerPerformSync(AbstractSyncAdapter.java:313)
      at com.android.music.sync.common.AbstractSyncAdapter.onPerformLoggedSync(AbstractSyncAdapter.java:243)
      at com.google.android.common.LoggingThreadedSyncAdapter.onPerformSync(LoggingThreadedSyncAdapter.java:33)
      at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:164)
  Caused by: java.io.IOException: Attempted read from closed stream.
      at org.apache.http.impl.io.ChunkedInputStream.read(ChunkedInputStream.java:148)
      at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:159)
      at java.util.zip.GZIPInputStream.readFully(GZIPInputStream.java:212)
      at java.util.zip.GZIPInputStream.&lt;init&gt;(GZIPInputStream.java:81)
      at java.util.zip.GZIPInputStream.&lt;init&gt;(GZIPInputStream.java:64)
      at android.net.http.AndroidHttpClient.getUngzippedContent(AndroidHttpClient.java:218)
      at com.android.music.sync.api.MusicApiClientImpl.createAndExecuteMethod(MusicApiClientImpl.java:312)
      at com.android.music.sync.api.MusicApiClientImpl.getItems(MusicApiClientImpl.java:588)
      at com.android.music.sync.api.MusicApiClientImpl.getTracks(MusicApiClientImpl.java:638)
      at com.android.music.sync.google.MusicSyncAdapter.getChangesFromServerAsDom(MusicSyncAdapter.java:512)
      ... 6 more
  </code></pre>
  
  <p>However sometimes, for debugging purposes, I want to log a full stack trace from where I am in the code. I figured I could just do this:</p>
  
  <pre><code>StackTraceElement trace = new Exception().getStackTrace();
  Log.d("myapp", trace.toString());
  </code></pre>
  
  <p>But this just prints out the pointer to the object... Do I have to iterate through all the stack trace elements to print them out? Or is there a simple method to print it all out?</p>