zoukankan      html  css  js  c++  java
  • Android日志输出工具类

    package com.rctd.tmzs.util;


    import android.util.Log;


    /**  
     * 日志输出工具类
     * @author    WuHao; Email: 1024778537@qq.com  
     * @version   V1.0;  Date:  2014-05-26 11:35:20  
     */  
    public class LogUtil {


    private static String tag = "LogUtil";

    private int logLevel = Log.VERBOSE;
    private static final boolean isDebug = true;
    private static LogUtil instance = null;


    public static synchronized LogUtil getInstance() {
    return getInstance(Log.VERBOSE);
    }

    public static synchronized LogUtil getInstance(int level) {
    if (instance == null)
    instance = new LogUtil();
    if (level >= 2)
    instance.setLevel(level);
    return instance;
    }


    private LogUtil() {

    }

    public void setLevel(int level){
    this.logLevel = level;
    }


    private String getFunctionName() {
    StackTraceElement[] sts = Thread.currentThread().getStackTrace();
    if (sts == null) {
    return null;
    }
    for (StackTraceElement st : sts) {
    if (st.isNativeMethod()) {
    continue;
    }
    if (st.getClassName().equals(Thread.class.getName())) {
    continue;
    }
    if (st.getClassName().equals(this.getClass().getName())) {
    continue;
    }
    return "[" + Thread.currentThread().getName() + "(" + Thread.currentThread().getId() + "): " + st.getFileName() + ":" + st.getLineNumber() + "]";
    }
    return null;
    }


    private void outMsg(Object str) {
    String msg = (str == null ? "" : str.toString());
    String name = getFunctionName();
    String ls = (name == null ?

    msg.toString() : (name + " - " + msg));
    if (logLevel == Log.DEBUG) {
    Log.d(tag, ls);
    } else if (logLevel == Log.INFO) {
    Log.i(tag, ls);
    } else if (logLevel == Log.WARN) {
    Log.w(tag, ls);
    } else if (logLevel == Log.ERROR) {
    Log.e(tag, ls);
    } else {
    Log.v(tag, ls);
    }
    }


    public void out(Object msg) {
    if (isDebug) {
    outMsg(msg);
    }
    }
    }

  • 相关阅读:
    用 jQuery 实现表单验证(摘抄)——选自《锋利的jQuery》(第2版)第5章的例题 5.1.5 表单验证
    js内置对象
    浅析js中的堆和栈
    深入理解js立即执行函数
    Javascript 中 null、NaN和undefined的区别
    javasript
    关于HTTP协议,一篇就够了
    ssh_maven之controller层开发
    ssh_maven之service开发
    ssh_maven的搭建之dao层的开发
  • 原文地址:https://www.cnblogs.com/mqxnongmin/p/10858912.html
Copyright © 2011-2022 走看看