디버깅이 어려운 환경에서 Stack Trace를 강제로 Logcat에 출력하고 싶을 때가 있습니다.
이럴 때 아래와 같이 Log 클래스를 사용하시면 간단히 확인할 수 있습니다.
# Log.w(TAG, "Method called on the UI thread", new Exception("STACK TRACE"));
10-05 11:00:02.789: W/TEST(697): Method called on the UI thread
10-05 11:00:02.789: W/TEST(697): java.lang.Exception: STACK TRACE
10-05 11:00:02.789: W/TEST(697): at com.example.sampleapp.MainActivity.onCreate(MainActivity.java:16)
10-05 11:00:02.789: W/TEST(697): at android.app.Activity.performCreate(Activity.java:4465)
10-05 11:00:02.789: W/TEST(697): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
10-05 11:00:02.789: W/TEST(697): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
10-05 11:00:02.789: W/TEST(697): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
10-05 11:00:02.789: W/TEST(697): at android.app.ActivityThread.access$600(ActivityThread.java:123)
10-05 11:00:02.789: W/TEST(697): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
10-05 11:00:02.789: W/TEST(697): at android.os.Handler.dispatchMessage(Handler.java:99)
10-05 11:00:02.789: W/TEST(697): at android.os.Looper.loop(Looper.java:137)
10-05 11:00:02.789: W/TEST(697): at android.app.ActivityThread.main(ActivityThread.java:4424)
10-05 11:00:02.789: W/TEST(697): at java.lang.reflect.Method.invokeNative(Native Method)
10-05 11:00:02.789: W/TEST(697): at java.lang.reflect.Method.invoke(Method.java:511)
10-05 11:00:02.789: W/TEST(697): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
10-05 11:00:02.789: W/TEST(697): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
10-05 11:00:02.789: W/TEST(697): at dalvik.system.NativeStart.main(Native Method)
crash report 하는 어플이 이기능을 사용하죠..
crittercism 이 제일 좋아 보이긴 하더군요.. bugsence는 jira 연동이 된다는데
돈이 음써서 jira는 못씀..ㅋㅋ