写点什么

LogUtil 日志工具类的封装

用户头像
Changing Lin
关注
发布于: 刚刚
LogUtil日志工具类的封装

1.知识点

  • 腾讯开源了 xlog 高性能日志框架

  • 支持加密

  • 支持压缩

  • 支持打印输出到文件

  • 官方链接:https://github.com/Tencent/mars

  • 在我们上线的应用实际使用过程中,xlog 可以满足日常的开发、测试、定位问题的需求,且降低在性能方面影响。

2.原理

build.gradle文件
dependencies { implementation com.tencent.mars:mars-xlog:1.2.4}
复制代码

3.代码


import com.tencent.mars.xlog.Log;import com.tencent.mars.xlog.Xlog;
/** * 日志处理工具类 * 打印机制: * 1、Debug所需信息,一律在Release版本不打印,使用对当前模式进行判断区分 * 2、Release版本需要打印辅助信息到本地文件,方便排查问题 */public class LogUtil {
private final static String TAG = "LogUtil";
/** * 开启日志打印,只需要调用一次 */ public static void open(String path){ final String cachePath = ""; if(isDebug){ Xlog.open(true, Xlog.LEVEL_DEBUG, Xlog.AppednerModeSync, cachePath, path, TAG, ""); Xlog.setConsoleLogOpen(true); }else { Xlog.open(true, Xlog.LEVEL_DEBUG, Xlog.AppednerModeAsync, cachePath, path, TAG, ""); Xlog.setConsoleLogOpen(false); }
Log.setLogImp(new Xlog()); }
/** * 关闭日志打印,只需要调用一次 */ public static void close(){ Log.appenderClose(); }
private static final boolean isDebug = BuildConfig.DEBUG; // release版本,不打印log
public static void v(String tag, String msg) { if (isDebug) Log.v(tag, msg); }
public static void d(String tag, String msg) { if (isDebug) Log.d(tag, msg); }
public static void i(String tag, String msg) { if (isDebug) Log.i(tag, msg); }
public static void e(String tag, String msg) { if (isDebug) Log.e(tag, msg); }
/** * 标签为类名 * * @param clazz * @param msg */ public static void v(Class clazz, String msg) { if (isDebug) { if (clazz != null) { Log.v(clazz.getSimpleName(), msg); } else { Log.v(TAG, msg); } } }
public static void i(Class clazz, String msg) { if (isDebug) { if (clazz != null) { Log.i(clazz.getSimpleName(), msg); } else { Log.i(TAG, msg); } } }
public static void d(Class clazz, String msg) { if (isDebug) { if (clazz != null) { Log.d(clazz.getSimpleName(), msg); } else { Log.d(TAG, msg); } } }
public static void e(Class clazz, String msg) { if (isDebug) { if (clazz != null) { Log.e(clazz.getSimpleName(), msg); } else { Log.e(TAG, msg); } } }
/** * 无论什么版本,都会打印到控制台,并打印到本地文件 * * @param tag * @param msg */ public static void printE(String tag, String msg) { Log.e(tag, msg); }
public static void printE(Class clazz, String msg) { if (clazz != null) { Log.e(clazz.getSimpleName(), msg); } else { Log.e(TAG, msg); } }
public static void printD(String tag, String msg) { Log.d(tag, msg); }
public static void printD(Class clazz, String msg) { if (clazz != null) { Log.d(clazz.getSimpleName(), msg); } else { Log.d(TAG, msg); } }
public static void printI(String tag, String msg) { Log.i(tag, msg); }
public static void printI(Class clazz, String msg) { if (clazz != null) { Log.i(clazz.getSimpleName(), msg); } else { Log.i(TAG, msg); } }
public static void printV(String tag, String msg) { Log.v(tag, msg); }
public static void printV(Class clazz, String msg) { if (clazz != null) { Log.v(clazz.getSimpleName(), msg); } else { Log.v(TAG, msg); } }}
复制代码


发布于: 刚刚阅读数: 2
用户头像

Changing Lin

关注

获得机遇的手段远超于固有常规之上~ 2020.04.29 加入

我能做的,就是调整好自己的精神状态,以最佳的面貌去面对那些未曾经历过得事情,对生活充满热情和希望。

评论

发布
暂无评论
LogUtil日志工具类的封装