一个在用的Log日志工具

发布时间:2020-08-02 03:44:21 作者:chuyuan
来源:网络 阅读:234

import android.util.Log;

/**

 * 

 * 日志工具

 *

 */

public class LogUtil

{

    private static final boolean WRITE_LOG = true;

    

    private static boolean hasLogFile = false;

    

    private static String TAG = "LogUtil";

    

    private LogUtil()

    {

    }

    

    @SuppressWarnings("unused")

    public static void v(String tag, String msg)

    {

        if (WRITE_LOG || hasLogFile)

        {

            String className = "";

            String logInfo = "";

            try

            {

                String fullClassName = Thread.currentThread().getStackTrace()[3].getClassName();

                // 获取打印日志所在的类名

                className = fullClassName.substring(fullClassName.lastIndexOf(".") + 1);

                // 获取打印日志所在的方法名

                String methodName = Thread.currentThread().getStackTrace()[3].getMethodName();

                // 获取日志所在的行号

                int lineNumber = Thread.currentThread().getStackTrace()[3].getLineNumber();

                // 日志信息。包括了 方法名字 行数 时间 以及要打印的信息

                logInfo = className + ":" + methodName + "() line(" + lineNumber + "):" + msg;

                

            }

            catch (Exception e)

            {

                className = tag;

                logInfo = msg;

                Log.e(TAG, "log error");

            }

            

            if (tag == null || "".equals(tag))

            {

                tag = className;

            }

            

            Log.v(tag, logInfo);

        }

    }

    

    @SuppressWarnings("unused")

    public static void v(String tag, String msg, Throwable tr)

    {

        if (WRITE_LOG || hasLogFile)

        {

            String className = "";

            String logInfo = "";

            try

            {

                String fullClassName = Thread.currentThread().getStackTrace()[3].getClassName();

                // 获取打印日志所在的类名

                className = fullClassName.substring(fullClassName.lastIndexOf(".") + 1);

                // 获取打印日志所在的方法名

                String methodName = Thread.currentThread().getStackTrace()[3].getMethodName();

                // 获取日志所在的行号

                int lineNumber = Thread.currentThread().getStackTrace()[3].getLineNumber();

                // 日志信息。包括了 方法名字 行数 时间 以及要打印的信息

                logInfo = className + ":" + methodName + "() line(" + lineNumber + "):" + msg;

                

            }

            catch (Exception e)

            {

                className = tag;

                logInfo = msg;

                Log.e(TAG, "log error");

            }

            

            if (tag == null || "".equals(tag))

            {

                tag = className;

            }

            

            Log.v(tag, logInfo, tr);

        }

    }

    

    @SuppressWarnings("unused")

    public static void d(String tag, String msg)

    {

        if (WRITE_LOG || hasLogFile)

        {

            String className = "";

            String logInfo = "";

            try

            {

                String fullClassName = Thread.currentThread().getStackTrace()[3].getClassName();

                // 获取打印日志所在的类名

                className = fullClassName.substring(fullClassName.lastIndexOf(".") + 1);

                // 获取打印日志所在的方法名

                String methodName = Thread.currentThread().getStackTrace()[3].getMethodName();

                // 获取日志所在的行号

                int lineNumber = Thread.currentThread().getStackTrace()[3].getLineNumber();

                // 日志信息。包括了 方法名字 行数 时间 以及要打印的信息

                logInfo = className + ":" + methodName + "() line(" + lineNumber + "):" + msg;

                

            }

            catch (Exception e)

            {

                className = tag;

                logInfo = msg;

                Log.e(TAG, "log error");

            }

            

            if (tag == null || "".equals(tag))

            {

                tag = className;

            }

            

            Log.d(tag, logInfo);

        }

    }

    

    @SuppressWarnings("unused")

    public static void d(String tag, String msg, Throwable tr)

    {

        if (WRITE_LOG || hasLogFile)

        {

            String className = "";

            String logInfo = "";

            String methodName = "";

            int lineNumber = 0;

            try

            {

                String fullClassName = Thread.currentThread().getStackTrace()[3].getClassName();

                // 获取打印日志所在的类名

                className = fullClassName.substring(fullClassName.lastIndexOf(".") + 1);

                // 获取打印日志所在的方法名

                methodName = Thread.currentThread().getStackTrace()[3].getMethodName();

                // 获取日志所在的行号

                lineNumber = Thread.currentThread().getStackTrace()[3].getLineNumber();

                // 日志信息。包括了 方法名字 行数 时间 以及要打印的信息

                logInfo = className + ":" + methodName + "() line(" + lineNumber + "):" + msg;

                

            }

            catch (Exception e)

            {

                className = tag;

                logInfo = msg;

                Log.e(TAG, "log error");

            }

            

            if (tag == null || "".equals(tag))

            {

                tag = className;

            }

            

            Log.d(tag, logInfo, tr);

        }

    }

    

    @SuppressWarnings("unused")

    public static void i(String tag, String msg)

    {

        if (WRITE_LOG || hasLogFile)

        {

            String className = "";

            String logInfo = "";

            String methodName = "";

            int lineNumber = 0;

            try

            {

                String fullClassName = Thread.currentThread().getStackTrace()[3].getClassName();

                // 获取打印日志所在的类名

                className = fullClassName.substring(fullClassName.lastIndexOf(".") + 1);

                // 获取打印日志所在的方法名

                methodName = Thread.currentThread().getStackTrace()[3].getMethodName();

                // 获取日志所在的行号

                lineNumber = Thread.currentThread().getStackTrace()[3].getLineNumber();

                // 日志信息。包括了 方法名字 行数 时间 以及要打印的信息

                logInfo = className + ":" + methodName + "() line(" + lineNumber + "):" + msg;

                

            }

            catch (Exception e)

            {

                className = tag;

                logInfo = msg;

                Log.e(TAG, "log error");

            }

            

            if (tag == null || "".equals(tag))

            {

                tag = className;

            }

            

            Log.i(tag, logInfo);

        }

    }

    

    @SuppressWarnings("unused")

    public static void i(String tag, String msg, Throwable tr)

    {

        if (WRITE_LOG || hasLogFile)

        {

            String className = "";

            String logInfo = "";

            try

            {

                String fullClassName = Thread.currentThread().getStackTrace()[3].getClassName();

                // 获取打印日志所在的类名

                className = fullClassName.substring(fullClassName.lastIndexOf(".") + 1);

                // 获取打印日志所在的方法名

                String methodName = Thread.currentThread().getStackTrace()[3].getMethodName();

                // 获取日志所在的行号

                int lineNumber = Thread.currentThread().getStackTrace()[3].getLineNumber();

                // 日志信息。包括了 方法名字 行数 时间 以及要打印的信息

                logInfo = className + ":" + methodName + "() line(" + lineNumber + "):" + msg;

                

            }

            catch (Exception e)

            {

                className = tag;

                logInfo = msg;

                Log.e(TAG, "log error");

            }

            

            if (tag == null || "".equals(tag))

            {

                tag = className;

            }

            

            Log.i(tag, logInfo, tr);

        }

    }

    

    public static void e(String tag, String msg, Throwable tr)

    {

        String className = "";

        String logInfo = "";

        try

        {

            String fullClassName = Thread.currentThread().getStackTrace()[3].getClassName();

            // 获取打印日志所在的类名

            className = fullClassName.substring(fullClassName.lastIndexOf(".") + 1);

            // 获取打印日志所在的方法名

            String methodName = Thread.currentThread().getStackTrace()[3].getMethodName();

            // 获取日志所在的行号

            int lineNumber = Thread.currentThread().getStackTrace()[3].getLineNumber();

            // 日志信息。包括了 方法名字 行数 时间 以及要打印的信息

            logInfo = className + ":" + methodName + "() line(" + lineNumber + "):" + msg;

            

        }

        catch (Exception e)

        {

            className = tag;

            logInfo = msg;

            Log.e(TAG, "log error");

        }

        

        if (tag == null || "".equals(tag))

        {

            tag = className;

        }

        

        Log.e(tag, logInfo, tr);

    }

    

    public static void e(String tag, String msg)

    {

        String className = "";

        String logInfo = "";

        try

        {

            String fullClassName = Thread.currentThread().getStackTrace()[3].getClassName();

            // 获取打印日志所在的类名

            className = fullClassName.substring(fullClassName.lastIndexOf(".") + 1);

            // 获取打印日志所在的方法名

            String methodName = Thread.currentThread().getStackTrace()[3].getMethodName();

            // 获取日志所在的行号

            int lineNumber = Thread.currentThread().getStackTrace()[3].getLineNumber();

            // 日志信息。包括了 方法名字 行数 时间 以及要打印的信息

            logInfo = className + ":" + methodName + "() line(" + lineNumber + "):" + msg;

            

        }

        catch (Exception e)

        {

            className = tag;

            logInfo = msg;

            Log.e(TAG, "log error");

        }

        

        if (tag == null || "".equals(tag))

        {

            tag = className;

        }

        

        Log.e(tag, logInfo);

    }

    

    @SuppressWarnings("unused")

    public static void w(String tag, String msg)

    {

        if (WRITE_LOG || hasLogFile)

        {

            String className = "";

            String logInfo = "";

            try

            {

                String fullClassName = Thread.currentThread().getStackTrace()[3].getClassName();

                // 获取打印日志所在的类名

                className = fullClassName.substring(fullClassName.lastIndexOf(".") + 1);

                // 获取打印日志所在的方法名

                String methodName = Thread.currentThread().getStackTrace()[3].getMethodName();

                // 获取日志所在的行号

                int lineNumber = Thread.currentThread().getStackTrace()[3].getLineNumber();

                // 日志信息。包括了 方法名字 行数 时间 以及要打印的信息

                logInfo = className + ":" + methodName + "() line(" + lineNumber + "):" + msg;

                

            }

            catch (Exception e)

            {

                className = tag;

                logInfo = msg;

                Log.e(TAG, "log error");

            }

            

            if (tag == null || "".equals(tag))

            {

                tag = className;

            }

            

            Log.w(tag, logInfo);

        }

    }

    

    @SuppressWarnings("unused")

    public static void w(String tag, String msg, Throwable tr)

    {

        if (WRITE_LOG || hasLogFile)

        {

            String className = "";

            String logInfo = "";

            try

            {

                String fullClassName = Thread.currentThread().getStackTrace()[3].getClassName();

                // 获取打印日志所在的类名

                className = fullClassName.substring(fullClassName.lastIndexOf(".") + 1);

                // 获取打印日志所在的方法名

                String methodName = Thread.currentThread().getStackTrace()[3].getMethodName();

                // 获取日志所在的行号

                int lineNumber = Thread.currentThread().getStackTrace()[3].getLineNumber();

                // 日志信息。包括了 方法名字 行数 时间 以及要打印的信息

                logInfo = className + ":" + methodName + "() line(" + lineNumber + "):" + msg;

                

            }

            catch (Exception e)

            {

                className = tag;

                logInfo = msg;

                Log.e(TAG, "log error");

            }

            

            if (tag == null || "".equals(tag))

            {

                tag = className;

            }

            

            Log.w(tag, logInfo, tr);

        }

    }

}


推荐阅读:
  1. BAT都在用的数据库
  2. android日志工具

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

android log 在用

上一篇:swoole webSocket server or client example

下一篇:WSFC SQL应用磁盘阵列替换

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》