• 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);
    }
    }
    }

  • 相关阅读:
    深入理解Node.js垃圾回收与内存管理
    【File System】Node.js中文件操作模块File System
    【事件流】事件冒泡和事件捕获
    undefined 和null的区别?
    localStorage实现登录注册功能
    解刨for循环
    react中嵌入高德地图并Marker标点
    react页面中嵌入地图,标识出某个地点,使用插件react-amap
    react中使用antd的List组件,以及下载文件,List隔行变色
    公众号页面数据处理
  • 原文地址:https://www.cnblogs.com/mqxnongmin/p/10858912.html
Copyright © 2020-2023  润新知