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【实现自由的控制日志的打印的封装类】的更多相关文章
- (转)log4j(二)——如何控制日志信息的输出?
一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 1 先看栗子再来下结论 import org.apache.log4j.*; import test.log4j.bean ...
- log4j(二)——如何控制日志信息的输出?
一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 二:先看栗子再来下结论 import org.apache.log4j.*; import test.log4j.bean ...
- Spark:控制日志输出级别
Spark:控制日志输出级别 终端修改 在pySpark终端可使用下面命令来改变日志级别 sc.setLogLevel("WARN") # 或者INFO等 修改日志设置文件 ** ...
- Log4j各级别日志重复打印的问题
今天在配置Log4j日志的时候,发现日志重复打印的问题.网上查了很多资料,发现介绍Log4j配置的文章数量不少,但提到这个问题的文章却寥寥,解决了自己的问题以后,赶紧记录一下. 原文地址:http:/ ...
- iOS项目之使用开关控制日志输出的功能
最近一直在做sdk的项目,用户提出了一个需求,需要屏蔽sdk内部的日志输出.由于sdk内部的日志是为了调试,如果屏蔽了肯定不方便,所以研究了一下日志输出开关的功能. 在这里介绍两种实现方案:一种方案是 ...
- 【docker】docker部署spring boot服务,但是docker logs查看容器输出控制台日志,没有日志打印,日志未打印,docker logs不打印容器日志
如题: docker部署spring boot服务,但是docker logs查看容器输出控制台日志,没有日志打印,日志未打印,docker logs不打印容器日志 场景再现: docker部署并启动 ...
- python之追溯函数调用及错误日志详细打印
一.函数调用追溯 1.1 原因 在打印日志时,为实现日志分层打印,将打印日志的语句封装到了print_log_info以及print_log_error中.但是如果在上述函数中直接通过logger.* ...
- logback日志异步打印
最近碰到一个问题:客户的服务器程序偶尔出现请求响应过慢的情况,通过查看日志发现RSA验证签名的代码执行超过20秒,而正常情况下只需要16毫秒. RSA证书是服务器启动就加载好的,不存在读文件慢的问题. ...
- spring Boot + MyBatis + Maven 项目,日志开启打印 sql
在 spring Boot + MyBatis + Maven 项目中,日志开启打印 sql 的最简单方法,就是在文件 application.properties 中新增: logging.leve ...
随机推荐
- Java 学习笔记 (六) Java 定义变量
这个问题来自于head first一书page68. package com.idea.study; public class Books { //headfirst page68 String ti ...
- AutoIT 测试GUI工具
今天听到同事提到AutoIT,可以用来测试GUI窗口.了解一下这个工具. 以下内容引自: http://www.jb51.net/article/14870.htm (此url非原出处,该博主未注明原 ...
- create_volume.go
package api import ( "net/http" "io/ioutil" "errors" & ...
- mutex.go
package} } ) ].GetResponseRange().Kvs[].CreateRevision ) return nil } func (m *Mutex) IsOwner() ...
- 【建模+强连通分量】POJ1904 King's Quest
Description 一个国王有n个王子,同时有n个女孩.每个王子都有自己喜欢的若干个女孩,现给定一个合法的完备匹配(也就是一个王子娶其中一个自己喜欢女孩),求每个王子可以选择哪些女孩可以让剩下的每 ...
- WAMP下配置FCGID+ZendGuardLoader
公司的项目里,有几个文件是被加密的,经过一翻折腾,终于配置成功 文件加密技术用的是ZendGuard,所以必须安装的PHP必须得是nts的 一.下载并配置PHP 先下载安装php,注意VC版本和是否n ...
- JavaScript对象的指向问题
JavaScript对象的指向问题 标签(空格分隔): JavaScript 对象 在接触了JavaScript之后,我们常听到一句话就是一切皆对象,意思是说除了object以外,JavaScript ...
- spss汉化详解
今天写一下关于SPSS的汉化以及激活码 下载spss: 安装过程比较简单,主要就是激活码: 9DNCAF2O3QVDV7FBIO696OO6GWLNXZPPRYTPWF2PPX7C8T6Y24LMVV ...
- 面试题:求第K大元素(topK)?
一.引言二.普通算法算法A:算法B:三.较好算法算法C:算法D:四.总结 一.引言 这就是类似求Top(K)问题,什么意思呢?怎么在无序数组中找到第几(K)大元素?我们这里不考虑海量数据,能装入内 ...
- Spark学习之Spark调优与调试(一)
一.使用SparkConf配置Spark 对 Spark 进行性能调优,通常就是修改 Spark 应用的运行时配置选项.Spark 中最主要的配置机制是通过 SparkConf 类对 Spark 进行 ...