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

版权声明:本文为博主原创文章,未经博主允许不得转载。

前言

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

效果图

暂不需要。

代码分析

在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下载地址

链接:http://pan.baidu.com/s/1qXVGWSO 密码:tkkd

时间: 2024-10-10 11:21:13

LogUtil【实现自由的控制日志的打印的封装类】的相关文章

(转)log4j(二)——如何控制日志信息的输出?

一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 1 先看栗子再来下结论 import org.apache.log4j.*; import test.log4j.bean.Person; //by godtrue public class UseLog4j { //日志记录器 private static Logger LOGGER = LogManager.getLogger(UseLog4j.class); //循环次数 private static long

python之追溯函数调用及日志详细打印

目录 [TOC] 一.函数调用追溯 1.1 原因 在打印日志时,为实现日志分层打印,将打印日志的语句封装到了print_log_info以及print_log_error中.但是如果在上述函数中直接通过logger.*打印日志,日志中的模块名.行号就会一直打印print_log_info和print_log_error函数中的logger.*中的位置.所以有了追溯函数调用的想法,在打印正常日志时,打印对应模块名以及打印日志语句的行号. 1.2 使用实例 2.2.1 追溯函数调用推导 在一个模块中

【docker】docker部署spring boot服务,但是docker logs查看容器输出控制台日志,没有日志打印,日志未打印,docker logs不打印容器日志

如题: docker部署spring boot服务,但是docker logs查看容器输出控制台日志,没有日志打印,日志未打印,docker logs不打印容器日志 场景再现: docker部署并启动了  springboot服务,容器启动正常,docker exec 也可以正常进入容器内部,但是docker logs 控制台并没有日志打印出来. 同样的,/var/lib/docker/containers目录下的对应容器目录中,也没有对应的 *-json.log日志文件生成. 原因: dock

Jpress – 日志正常打印

Jpress – 日志正常打印  发现Jpress 日志没有打印 找了半天,学习了backlog,slf4j 正好,其他jar引入了 slf4j impl.jar,导致 backlog.xml 不起作用 Jpress只留了个接口,没有提供jar 比较尴尬 排除了 slf4jimpl.jar,引入了 backlog.jar 日志正常 ok了 原文:http://qiusuozhe.com/index.php/archives/9850.html 原文地址:https://www.cnblogs.c

成本调整单中出现单据受打印控制,不符合打印条件,不允许打印

成本调整单中出现单据受打印控制,不符合打印条件,不允许打印,在单据参数设置中设置没有效果,提示由于单据为配置打印次数字段,因此该选项不起作用 处理方法:找到单据类型->成本调整单,修改最大打印次数 原文地址:https://www.cnblogs.com/woshinige/p/11737414.html

MFC下调试日志的打印

最近项目出现点小Bug,需要调试跟踪代码,于是乎写了份打印日志的代码. CLogFile.h文件 1 #if !defined(AFX_LOGFILE_H__288388CA_9A3E_4F3D_A2B8_F1078E1F6A6B__INCLUDED_) 2 #define AFX_LOGFILE_H__288388CA_9A3E_4F3D_A2B8_F1078E1F6A6B__INCLUDED_ 3 4 #if _MSC_VER > 1000 5 #pragma once 6 #endif /

Mybatis 的多个参数的使用和 sql日志的打印

mybatis的日志打印: 在log4j.properties 里面添加如下的语句 #log4j.logger.org.apache.ibatis=debug,stdout #log4j.logger.java.sql=debug,stdout 多个String类型的参数的导入: <select id="findCategoryByCN" parameterType="String" resultType="Map"> ???????

使用log4j.xml日志重复打印解决方案

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <!-- in java cmd add -Dlog4j.configuration=logging.xml --> <log4j:configuration xmlns:log4j="http://jakarta.a

怎样制作「用手机&amp;电脑控制的Arduino-3D打印机器人」– IoBot?

 如果你正在探寻控制Arduino设备的方式,这个教程将告诉你如何通过建立简单的机器人来实现. IoBot由手机&电脑应用控制,通过LAN或USB.应用可在Android,Mac OS及Windows操作系统下运行,在IoBoT的网站(http://iobot.info/)有下载. 所有的塑料零件都是3D打印的,Arduino是核心,控制应用用Python/Kivy 语言实现. 并不需要编程知识,但是我已经提供了链接,你可以在上面找到关于他们更多详细的信息.这对于一些需要修改代码和为Ardu