文档章节

Android日志打印DebugLog

军歌
 军歌
发布于 2014/03/10 16:52
字数 215
阅读 716
收藏 4
public class DebugLog{

	static String className;
	static String methodName;

    private DebugLog(){
        /* Protect from instantiations */
    }

	public static boolean isDebuggable(){
		return BuildConfig.DEBUG;
	}

	private static String createLog(String log){

		StringBuffer buffer = new StringBuffer();
		buffer.append("[");
		buffer.append(methodName);
		buffer.append("]");
		buffer.append(log);

		return buffer.toString();
	}

	private static void getMethodNames(StackTraceElement[] sElements){
		className = sElements[1].getFileName();
		methodName = sElements[1].getMethodName();
	}

	public static void e(String message){
		if (!isDebuggable())
			return;

		// Throwable instance must be created before any methods  
		getMethodNames(new Throwable().getStackTrace());
		Log.e(className, createLog(message));
	}

	public static void i(String message){
		if (!isDebuggable())
			return;

		getMethodNames(new Throwable().getStackTrace());
		Log.i(className, createLog(message));
	}

	public static void d(String message){
		if (!isDebuggable())
			return;

		getMethodNames(new Throwable().getStackTrace());
		Log.d(className, createLog(message));
	}

	public static void v(String message){
		if (!isDebuggable())
			return;

		getMethodNames(new Throwable().getStackTrace());
		Log.v(className, createLog(message));
	}

	public static void w(String message){
		if (!isDebuggable())
			return;

		getMethodNames(new Throwable().getStackTrace());
		Log.w(className, createLog(message));
	}

	public static void wtf(String message){
		if (!isDebuggable())
			return;

		getMethodNames(new Throwable().getStackTrace());
		Log.wtf(className, createLog(message));
	}

}

调用:

@Override
protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.activity_main);

	DebugLog.e("simple log from onCreate()");

	myFunc();
	mySecondFunc();
}

void myFunc(){
	DebugLog.e("simple log from myFunc()");
}

void mySecondFunc(){
	DebugLog.i("simple log from mySecondFunc()");
}

@Override
protected void onResume() {
	super.onResume();

	DebugLog.v("v log");
	DebugLog.w("w log");
	DebugLog.wtf("wtf log");
}

ScreenshotScreenshot


© 著作权归作者所有

共有 人打赏支持
军歌
粉丝 9
博文 86
码字总数 43501
作品 0
深圳
程序员
私信 提问
Android开发—— 小工具,大效率

一、Hugo插件 —— 打印方法运行时间 首先申明下,此Hugo非 彼Hugo(Hugo是由Go语言实现的静态网站生成器)。 Hugo插件作用 : 能够计算并打印一个方法的输入参数和函数的运行时间 Hugo插件应...

SuShine
01/04
0
0
Android 启动模式和 taskAffinity 属性详解

任务和返回栈 应用通常包含多个 Activity ,每个 Activity 均应围绕用户可以执行的特定操作设计,并且能够启动其他 Activity,一个 Activity 可以启动设备上其他应用中的 Activity,即使两个...

Will_ls
2018/01/05
0
0
Android单元测试与日志输出

使用单元测试可以保证我们开发的应用质量, 一般我们开发完业务层后对业务层进行测试,确保业务层不会出现bug,对业务层通过之后控制层就可以调用业务层 完成所需的功能。 以前做Java开发的时...

晨曦之光
2012/05/16
395
0
tiny-log 短小精悍的Android日志

tiny-log 是一个精简但不失强大的Android日志类。主要特点如下: single class and all method is static, you can use just like built-in Log class in Android. enable/disable log set l......

whinc
2016/01/21
0
0
Android Fragment完全解析,关于碎片你所需知道的一切

我们都知道,Android上的界面展示都是通过Activity实现的,Activity实在是太常用了,我相信大家都已经非常熟悉了,这里就不再赘述。 但是Activity也有它的局限性,同样的界面在手机上显示可能...

球球
2013/05/31
0
0

没有更多内容

加载失败,请刷新页面

加载更多

C++ vector和list的区别

1.vector数据结构 vector和数组类似,拥有一段连续的内存空间,并且起始地址不变。 因此能高效的进行随机存取,时间复杂度为o(1); 但因为内存空间是连续的,所以在进行插入和删除操作时,会造...

shzwork
今天
3
0
Spring之invokeBeanFactoryPostProcessors详解

Spring的refresh的invokeBeanFactoryPostProcessors,就是调用所有注册的、原始的BeanFactoryPostProcessor。 相关源码 public static void invokeBeanFactoryPostProcessors(Configu......

cregu
昨天
4
0
ibmcom/db2express-c_docker官方使用文档

(DEPRECIATED) Please check DB2 Developer-C Edition for the replacement. What is IBM DB2 Express-C ? ``IBM DB2 Express-C``` is the no-charge community edition of DB2 server, a si......

BG2KNT
昨天
3
0
Ubuntu 18.04.2 LTS nvidia-docker2 : 依赖: docker-ce (= 5:18.09.0~3-0~ubuntu-bionic)

平台:Ubuntu 18.04.2 LTS nvidia-docker2 版本:2.0.3 错误描述:在安装nvidia-docker2的时候报dpkg依赖错误 nvidia-docker2 : 依赖: docker-ce (= 5:18.09.0~3-0~ubuntu-bionic) 先看一下依......

Pulsar-V
昨天
4
0
学习笔记1-goland结构体(struct)

写在前面:若有侵权,请发邮件by.su@qq.com告知。 转载者告知:如果本文被转载,但凡涉及到侵权相关事宜,转载者需负责。请知悉! 本文永久更新地址:https://my.oschina.net/bysu/blog/3036...

不最醉不龟归
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部