JAVA中实现C语言的_FILE_,_LINE_,_FUNC_,_TIME_
2013-08-21 15:32
806 查看
package com.example.test; import android.os.Bundle; import android.app.Activity; import android.util.Log; import java.text.SimpleDateFormat; import java.util.Date; public class MainActivity extends Activity { public static String _FILE_() { StackTraceElement stackTraces[] = (new Throwable()).getStackTrace(); return stackTraces[1].getFileName(); } public static int _LINE_() { StackTraceElement stackTraces[] = (new Throwable()).getStackTrace(); return stackTraces[1].getLineNumber(); } public static String _FUNC_() { StackTraceElement stackTraces[] = (new Throwable()).getStackTrace(); return stackTraces[1].getMethodName(); } public static String _TIME_() { Date now = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); return sdf.format(now); } public static String _FILE_LINE_FUNC_() { StackTraceElement stackTraces[] = (new Throwable()).getStackTrace(); StringBuffer strBuffer = new StringBuffer("["); strBuffer.append(stackTraces[1].getFileName()).append("|"); strBuffer.append(stackTraces[1].getLineNumber()).append("|"); strBuffer.append(stackTraces[1].getMethodName()).append("]"); strBuffer.append(stackTraces[1].getClassName()).append("."); return strBuffer.toString(); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.d(TAG, _FILE_LINE_FUNC_()); //Log.d(TAG, _TIME_()); } }
(java.lang.StackTraceElement[]) [com.example.test.MainActivity._FILE_LINE_FUNC_(MainActivity.java:22), com.example.test.MainActivity.onCreate(MainActivity.java:33), android.app.Activity.performCreate(Activity.java:5133), android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087), android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175), android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261), android.app.ActivityThread.access$600(ActivityThread.java:141), android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256), android.os.Handler.dispatchMessage(Handler.java:99), android.os.Looper.loop(Looper.java:137), android.app.ActivityThread.main(ActivityThread.java:5103), java.lang.reflect.Method.invokeNative(Native Method), java.lang.reflect.Method.invoke(Method.java:525), com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737), com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553), dalvik.system.NativeStart.main(Native Method)]
08-21 07:47:40.083: I/test(3584): [MainActivity.java|33|com.example.test.MainActivity.onCreate]
相关文章推荐
- Java实现类似C/C++中的__FILE__、__FUNC__、__LINE__等,主要用于日志等功能中。
- python 中如何实现类似C语言中 __FILE__, __LINE__, __FUNC__
- Lua 中如何实现类似C语言中 __FILE__, __LINE__, __FUNC__
- C语言中__DATE__,__TIME__,__FILE__和__LINE__的用途
- C语言常用宏定义 __FILE__,__LINE__,FUNCTION__实现代码跟踪调试(linux下c语言编程)
- C语言中预定义符 __FILE__, __LINE__, __FUNCTION__, __DATE__, __TIME__ 的使用演示
- C语言中的 _FILE_ 、_LINE_ 、_func_ 和 #line
- C语言中__DATE__,__TIME__,__FILE__和__LINE__的用途
- C语言中预定义符 __FILE__, __LINE__, __FUNCTION__, __DATE__, __TIME__ 的使用
- C语言中的__FILE__、__LINE__和__func__等预定义跟踪调试
- C语言_DATE_ _TIME_ _LINE_ _FILE_的使用
- C Language Study - __FILE__ & __func__ & __TIME__ & __DATE__ &__LINE__
- [笔记]C语言中预定义符 __FILE__, __LINE__, __FUNCTION__, __DATE__, __TIME__ 的使用演示
- C语言中预定义符 __FILE__, __LINE__, __FUNCTION__, __DATE__, __TIME__ 的使用演示
- <Java> 获取当前调用函数, 如同C++中的__FUNC__, __FILE__, __LINE__
- 关键字: C/C++,预定义宏,__FILE__, __LINE__, __DATE__,__TIME__,__func__,__FUNCTION__ __FILE__:当前源代码文件名的字符串文
- C标准中预定义的宏,__DATE__,__TIME__,__FILE__,__LINE__,__func__
- Java实现类似C/C++中的__FILE__、__FUNC__、__
- Java实现类似C/C++中的__FILE__、__FUNC__、__
- linux下C语言__FILE__,__LINE__,FUNCTION__实现代码跟踪调试