LogUtil实现自由的控制日志的打印的封装类

Posted HaiyuKing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LogUtil实现自由的控制日志的打印的封装类相关的知识,希望对你有一定的参考价值。

版权声明:本文为HaiyuKing原创文章,转载请注明出处!

前言

主要用于控制项目开发和上线阶段日志的打印。

效果图

暂不需要。

代码分析

在LogUtil类中声明代表不同日志级别的常量值(VERBOSE、DEBUG、INFO、WARN、ERROR、NOTHING)以及一个用来控制打印的日志级别的常量(LEVEL);

通过设置LEVEL的常量值,用来控制打印什么级别以上的日志内容。

使用步骤

一、项目组织结构图

注意事项:

1、导入类文件后需要change包名以及重新import R文件路径

2、Values目录下的文件(strings.xml、dimens.xml、colors.xml等),如果项目中存在,则复制里面的内容,不要整个覆盖

二、导入步骤

 将LogUtil文件复制到项目中即可。

package com.why.project.logutildemo.util;

import android.util.Log;

/**
 * Used 实现自由的控制日志的打印--《第一行代码》 郭霖
 * 只有当LEVEL常量的值大于或等于对应日志级别值的时候,才会打印日志。
 * 开发阶段,将LEVEL赋值为VERBOSE,上线阶段将LEVEL赋值为NOTHING
 */
public class LogUtil {
    public static final int VERBOSE = 1;
    public static final int DEBUG = 2;
    public static final int INFO = 3;
    public static final int WARN = 4;
    public static final int ERROR = 5;
    public static final int NOTHING = 6;
    /**控制想要打印的日志级别
     * 等于VERBOSE,则就会打印所有级别的日志
     * 等于WARN,则只会打印警告级别以上的日志
     * 等于NOTHING,则会屏蔽掉所有日志*/
    public static final int LEVEL = VERBOSE;
    
    
    public static void v(String tag, String msg){
        if(LEVEL <= VERBOSE){
            Log.v(tag, msg);
        }
    }
    
    public static void d(String tag, String msg){
        if(LEVEL <= DEBUG){
            Log.d(tag, msg);
        }
    }
    
    public static void i(String tag, String msg){
        if(LEVEL <= INFO){
            Log.i(tag, msg);
        }
    }
    
    public static void w(String tag, String msg){
        if(LEVEL <= WARN){
            Log.w(tag, msg);
        }
    }
    
    public static void e(String tag, String msg){
        if(LEVEL <= ERROR){
            Log.e(tag, msg);
        }
    }
    
}

三、使用方法

开发阶段:设置LogUtil中的LEVEL==VERBOSE;

public static final int LEVEL = VERBOSE;

上线阶段:设置LogUtil中的LEVEL==NOTHING;

public static final int LEVEL = NOTHING;

 

调用方法:

LogUtil.w(TAG,"测试LogUtil打印日志");

混淆配置

参考资料

参考《第一行代码》 郭霖著

项目demo下载地址

https://github.com/haiyuKing/LogUtilDemo

以上是关于LogUtil实现自由的控制日志的打印的封装类的主要内容,如果未能解决你的问题,请参考以下文章

封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil

日志打印改进

logutil在java中怎么调用

python日志打印和写入并发简易版本实现

C++之类之访问控制与封装

自定义日志工具LogUtil