public final class LogUtil {
/** all Log print on-off */
private final static boolean all = true;
/** info Log print on-off */
private final static boolean i = true;
/** debug Log print on-off */
private final static boolean d = true;
/** err Log print on-off */
private final static boolean e = true;
/** verbose Log print on-off */
private final static boolean v = true;
/** warn Log print on-off */
private final static boolean w = true;
/** default print tag */
private final static String defaultTag = "qq986945193"; private LogUtil() {
} /**
* info Log print,default print tag
*
* @param msg
* :print message
*/
public static void I(String msg) {
if (all && i) {
android.util.Log.i(defaultTag, msg);
}
} /**
* info Log print
*
* @param tag
* :print tag
* @param msg
* :print message
*/
public static void I(String tag, String msg) {
if (all && i) {
android.util.Log.i(tag, msg);
}
} /**
* debug Log print,default print tag
*
* @param msg
* :print message
*/
public static void D(String msg) {
if (all && d) {
android.util.Log.d(defaultTag, msg);
}
} /**
* debug Log print
*
* @param tag
* :print tag
* @param msg
* :print message
*/
public static void D(String tag, String msg) {
if (all && d) {
android.util.Log.d(tag, msg);
}
} /**
* err Log print,default print tag
*
* @param msg
* :print message
*/
public static void E(String msg) {
if (all && e) {
try {
android.util.Log.e(defaultTag, msg);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
} /**
* err Log print
*
* @param tag
* :print tag
* @param msg
* :print message
*/
public static void E(String tag, String msg) {
if (all && e) {
android.util.Log.e(tag, msg);
}
} /**
* verbose Log print,default print tag
*
* @param msg
* :print message
*/
public static void V(String msg) {
if (all && v) {
android.util.Log.v(defaultTag, msg);
}
} /**
* verbose Log print
*
* @param tag
* :print tag
* @param msg
* :print message
*/
public static void V(String tag, String msg) {
if (all && v) {
android.util.Log.v(tag, msg);
}
} /**
* warn Log print,default print tag
*
* @param msg
* :print message
*/
public static void W(String msg) {
if (all && w) {
android.util.Log.w(defaultTag, msg);
}
} /**
* warn Log print
*
* @param tag
* :print tag
* @param msg
* :print message
*/
public static void W(String tag, String msg) {
if (all && w) {
android.util.Log.w(tag, msg);
}
} }
工具类源代码java文件下载地址:http://download.csdn.net/detail/qq_21376985/9478958

Android开发之封装log打印日志的工具类,实用logutils详细代码的更多相关文章

  1. Android开发学习之路-Palette颜色提取工具类使用

    视频(要FQ):https://www.youtube.com/watch?v=5u0dtzXL3PQ Palette是一个在support-v7包中的一个颜色提取工具类,用法比较简单,而且是谷歌官方 ...

  2. Go/Python/Erlang编程语言对比分析及示例 基于RabbitMQ.Client组件实现RabbitMQ可复用的 ConnectionPool(连接池) 封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil 分享基于MemoryCache(内存缓存)的缓存工具类,C# B/S 、C/S项目均可以使用!

    Go/Python/Erlang编程语言对比分析及示例   本文主要是介绍Go,从语言对比分析的角度切入.之所以选择与Python.Erlang对比,是因为做为高级语言,它们语言特性上有较大的相似性, ...

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

    封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil,代码比较简单,主要是把MongoTarget的配置.FileTarget的配置集成到类中,同时利用缓存依赖来判断是否需要重新创 ...

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

    封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil,代码比较简单,主要是把MongoTarget的配置.FileTarget的配置集成到类中,同时利用缓存依赖来判断是否需要重新创 ...

  5. 自己封装的poi操作Excel工具类

    自己封装的poi操作Excel工具类 在上一篇文章<使用poi读写Excel>中分享了一下poi操作Excel的简单示例,这次要分享一下我封装的一个Excel操作的工具类. 该工具类主要完 ...

  6. C# 日志记录工具类--LogHelper.cs测试

    C# 日志记录工具类:(适用于不想使用log4j等第三方的Log工具的时候,希望自己写个简单类实现)LogHelper.cs内容如下: using System; using System.Diagn ...

  7. 为什么要用Hibernate框架? 把SessionFactory,Session,Transcational封装成包含crud的工具类并且处理了事务,那不是用不着spring了?

    既然用Hibernate框架访问管理持久层,那为何又提到用Spring来管理以及整合Hibernate呢?把SessionFactory,Session,Transcational封装成包含crud的 ...

  8. 一、JDBC的概述 二、通过JDBC实现对数据的CRUD操作 三、封装JDBC访问数据的工具类 四、通过JDBC实现登陆和注册 五、防止SQL注入

    一.JDBC的概述###<1>概念 JDBC:java database connection ,java数据库连接技术 是java内部提供的一套操作数据库的接口(面向接口编程),实现对数 ...

  9. logback的使用和logback.xml详解,在Spring项目中使用log打印日志

    logback的使用和logback.xml详解 一.logback的介绍 Logback是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch.它当前分 ...

随机推荐

  1. SSRS - 请求因 HTTP 状态 401 失败: Unauthorized。

    原因: 1.SSRS报表服务器停止了,重启就可以了 2.用户没有权限 3.用户登录密码过期了,重设密码就可以了(如果用户是安装了client的话,直接让他远程登录改一下密码)

  2. number类型转date类型

    遇到用数字记录日期时,进行查询转换. create or replace function num_to_date(s in number) return dateisbegin return to_ ...

  3. 六种酷炫Python运行进度条

    本文介绍了目前6种比较常用的进度条,让大家都能直观地看到脚本运行最新的进展情况 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做 ...

  4. Python制作AI贪吃蛇,很多很多细节、思路都写下来了!

    前提:本文实现AI贪吃蛇自行对战,加上人机对战,读者可再次基础上自行添加电脑VS电脑和玩家VS玩家(其实把人机对战写完,这2个都没什么了,思路都一样) 实现效果: 很多人学习python,不知道从何学 ...

  5. Java高级篇 JVM

    JVM是什么? JVM起了什么作用? JVM包含了什么? JVM中, 一个类 程序是怎么加载的? JVM中垃圾回收机制?

  6. mongodb 4.0副本集搭建

    近期有同学问mongodb副本集难不难部署,我的回答是不难,很快,几分钟搞定,比mysql MHA简单的不止一点半点. 那么到底如何部署呢?请看下文. 1.  准备工作 1.1 下载软件 选择版本并下 ...

  7. JavaScript重定向

    使用JavaScript重定向到其他网页的一些方法: location.href location.replace() location.assign() 语法: window.location.hr ...

  8. 【LeetCode/LintCode】 题解丨字节跳动试题:第k大的子数组

    给定一个长度为n的数组a,它有n(n+1)/2​​个子数组.请计算这些子数组的和,然后按照升序排列,并返回排序后第k个数. 1≤n≤10​^5 1≤a​i≤10^​9 1≤k≤​n(n+1)/2 在线 ...

  9. C#LeetCode刷题之#63-不同路径 II​​​​​​​(Unique Paths II)

    目录 问题 示例 分析 问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3682 访问. 一个机器人位于一个 m x ...

  10. C#LeetCode刷题之#589-N叉树的前序遍历(N-ary Tree Preorder Traversal)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4090 访问. 给定一个 N 叉树,返回其节点值的前序遍历. 例如 ...