android上一个可追踪代码到函数具体某行的日志类

标签: android 代码 函数 | 发表时间:2012-11-19 11:02 | 作者:androidzhaoxiaogang
出处:http://blog.csdn.net

代码如下:

package xiaogang.enif.utils;

/**
 * The Class LogUtils for log printing, which help us
 * easy to trace our codes or logics in the project .
 * 
 * @author zhao xiaogang
 * @time   2011.4.12
 */
public class LogUtils {

    private final static int VERBOSE = 0;
    private final static int DEBUG = 1;
    private final static int INFO = 2;
    private final static int WARN = 3;
    private final static int ERROR = 4;
    private final static int DEFAULT_LEVEL = -1;

    private int level;

    private final String clazz;

    private static final String TAG = "LogUtils";

    public static LogUtils getDebugLog(Class<?> clazz, int l) {
        LogUtils log = new LogUtils(clazz);
        log.level = l;
        return log;
    }

    public static LogUtils getLog(Class<?> clazz) {
        return new LogUtils(clazz);
    }

    public LogUtils(Class<?> clazz) {
        this.clazz = "[" + clazz.getSimpleName() + "] ";
        level = DEFAULT_LEVEL;
    }

    public void verbose(String message) {
        verbose(message, null);
    }

    public void debug(String message) {
        debug(message, null);
    }

    public void info(String message) {
        info(message, null);
    }

    public void warn(String message) {
        warn(message, null);
    }

    public void error(String message) {
        error(message, null);
    }

    public void verbose(String message, Throwable t) {
        if (VERBOSE < level)
            return;
        if (message != null)
            android.util.Log.v(TAG, clazz + " Line: " + getLineNumber() + " : " + message);
        if (t != null)
            android.util.Log.v(TAG, clazz + " Line: " + getLineNumber() + " : " + t.toString());
    }

    public void debug(String message, Throwable t) {
        if (DEBUG < level)
            return;
        if (message != null)
            android.util.Log.d(clazz, clazz + " Line: " + getLineNumber() + " : " + message);
        if (t != null)
            android.util.Log.d(clazz, clazz + " Line: " + getLineNumber() + " : " + t.toString());
    }

    public void info(String message, Throwable t) {
        if (INFO < level)
            return;
        if (message != null)
            android.util.Log.i(TAG, clazz + " Line: " + getLineNumber() + " : " + message);
        if (t != null)
            android.util.Log.i(TAG, clazz + " Line: " + getLineNumber() + " : " + t.toString());
    }

    public void warn(String message, Throwable t) {
        if (WARN < level)
            return;
        if (message != null)
            android.util.Log.w(TAG, clazz + " Line: " + getLineNumber() + " : " + message);
        if (t != null)
            android.util.Log.w(TAG, clazz + " Line: " + getLineNumber() + " : " + t.toString());
    }

    public void error(String message, Throwable t) {
        if (ERROR < level)
            return;
        if (message != null)
            android.util.Log.e(TAG, clazz + " Line: " + getLineNumber() + " : " + message);
        if (t != null)
            android.util.Log.e(TAG, clazz + " Line: " + getLineNumber() + " : " + t.toString());
    }

    private static int getLineNumber() {
        return Thread.currentThread().getStackTrace()[5].getLineNumber();
    }
}

 

好用的话,记得给好评,嘿嘿!

作者:androidzhaoxiaogang 发表于2012-11-19 11:02:06 原文链接
阅读:0 评论:0 查看评论

相关 [android 代码 函数] 推荐:

android上一个可追踪代码到函数具体某行的日志类

- - CSDN博客推荐文章
package xiaogang.enif.utils; /** * The Class LogUtils for log printing, which help us * easy to trace our codes or logics in the project. 好用的话,记得给好评,嘿嘿.

android回调函数总结

- - Java - 编程语言 - ITeye博客
android回调函数总结. 回调函数就是那些自己写的,但是不是自己来调,而是给别人来掉的函数. 消息响应函数就可以看成是回调函数,因为是让系统在合适的时候去调用. 这不过消息响应函数就是为了处理消息的,. 但是回调函数不是只有消息响应函数一种,比如在内核编程中,驱动程序就要提供一些回调函数,. 当一个设备的数据读写完成后,让系统调用这些回调函数来执行一些后续工作.

android 编程代码规范

- - CSDN博客推荐文章
                学习android开发已经有很长时间了,但是有时代码却很少用规范的模式进行书写,下面就简要的总结了自己学习的代码规范. 一、关于一些常量值资源的书写规范. 颜色值有RGB和透明信息Alpha组成,以#开头, 形式有 #RGB                        #ARGB                        #RRGGBB                    #AARRGGBB.

Android Native 代码开发学习笔记

- iDesperadO - WindStorm
本文提供排版更佳的PDF版本下载. JNI,全称Java Native Interface,是用于让运行在JVM中的Java代码和运行在JVM外的Native代码(主要是C或者C++)沟通的桥梁. 代码编写者即可以使用JNI从Java的程序中调用Native代码,又可以从Native程序中调用Java代码.

[原]Android有用代码片断(六)

- - 傲慢的上校的专栏
         不知不觉中,就收集了超过95条的自己感觉有意思的代码片段,分为五篇文章: android有用代码片段、 Android有用代码片段(二)、 Android有用代码片段(三)、 Android有用代码片段(四)、. Android有用代码片段(五). 这五篇,今天,开始第六篇的整理.

Android实用代码七段(一)

- - 博客园_首页
 这里积累了一些不常见确又很实用的代码,每收集7条更新一次,希望能对大家有用.   欢迎转载,但请保留文章原始出处:) .     博客园:http://www.cnblogs.com.     农民伯伯: http://over140.cnblogs.com   . 1、精确获取屏幕尺寸(例如:3.5、4.0、5.0寸屏幕) .

Android 4.0.3 源代码已推送到 AOSP

- - 谷安——谷奥Android专题站
16日 Google 宣布了 Android 4.0.3,该版本的源码目前已经推送到 AOSP 上,这是目前最新版本的 Ice Cream Sandwich. 这是首次推送了 4 个不同的版本,包括 Motorola XOOM、 Nexus S 和两个 Galaxy Nexus 版本.

Android WebView中的JavaScript代码使用

- - 博客园_首页
  上一篇博文: Android WebView使用基础已经说了一些Android中WebView的基本使用.   本篇文章主要介绍WebView中的JavaScript代码的执行相关,已经JS代码与Android代码的互相调用.   (因为本人对Web开发并不是很熟悉,所以如果有哪些地方说得不对,还请指正.

Android代码优化小技巧总结

- - 移动开发 - ITeye博客
关注微信号:javalearns   随时随地学Java. 这篇文章主要是介绍了一些小细节的优化技巧,当这些小技巧综合使用起来的时候,对于整个Android App的性能提升还是有作用的,只是不能较大幅度的提升性能而已. 选择合适的算法与数据结构才应该是你首要考虑的因素,在这篇文章中不会涉及这方面.

Android Design Support Library的代码实验

- - 鸟窝
原文: Codelab for Android Design Support Library used in I/O Rewind Bangkok session----Make your app fancy with few lines of code. 【翻-双语】Android Design Support Library 的 代码实验——几行代码,让你的 APP 变得花俏.