91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Log管理類LogUtils

發布時間:2020-07-21 01:22:20 來源:網絡 閱讀:299 作者:樂無莜 欄目:移動開發
package com.pzq.test.utils;

import android.util.Log;


import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.HashMap;

import android.os.Environment;
import android.util.Log;
import android.view.KeyEvent;
import android.view.MotionEvent;


/**
 * Log統一管理類
 * Created by asus on 2016/6/23.
 */
public class LogUtils {
	private LogUtils() {
		/* cannot be instantiated */
		throw new UnsupportedOperationException("cannot be instantiated");
	}
	public static boolean isDebug = false;// 是否需要打印bug,可以在application的onCreate函數里面初始化
	private static final String TAG = "main...........";

	// 下面四個是默認tag的函數
	public static void i(String msg) {
		if (isDebug)
			Log.i(TAG, msg);
	}

	public static void d(String msg) {
		if (isDebug)
			Log.d(TAG, msg);
	}

	public static void e(String msg) {
		if (isDebug)
			Log.e(TAG, msg);
	}

	public static void v(String msg) {
		if (isDebug)
			Log.v(TAG, msg);
	}

	// 下面是傳入自定義tag的函數
	public static void i(String tag, String msg) {
		if (isDebug)
			Log.i(tag, msg);
	}

	public static void d(String tag, String msg) {
		if (isDebug)
			Log.i(tag, msg);
	}

	public static void e(String tag, String msg) {
		if (isDebug)
			Log.i(tag, msg);
	}

	public static void v(String tag, String msg) {
		if (isDebug)
			Log.i(tag, msg);
	}


	/////////////////////////////////////////////////////////////////////////////////////////////////////////

	private static final String LOG_PATH = Environment.getExternalStorageState() + "/Didi";
	private static LogUtil sInstance;
	private static boolean debug;

	private LogUtil() {
	}

	public static synchronized final LogUtil getInstance() {
		if (sInstance == null) {
			sInstance = new LogUtil();
		}
		return sInstance;
	}

	public static void setDebugMode(boolean mode) {
		debug = mode;
	}

	public static void v(String tag, String msg) {
		if (debug) {
			Log.v(tag, msg);
		}
	}

	public static void w(String tag, String msg) {
		if (debug) {
			Log.w(tag, msg);
		}
	}

	public static void i(String tag, String msg) {
		if (debug) {
			Log.i(tag, msg);
		}
	}

	public static void d(String tag, String msg) {
		if (debug) {
			Log.d(tag, msg);
		}
	}

	public static void e(String tag, String msg) {
		if (debug) {
			Log.e(tag, msg);
		}
	}

	public static void e(String tag, String msg, Throwable tr) {
		if (debug) {
			Log.e(tag, msg, tr);
		}
	}

	private static HashMap<String, Integer> actionMap = new HashMap<String, Integer>();

	public static void a(Class<?> clazz, String method, MotionEvent event, String log) {
		a(clazz, method, event, log, true);
	}

	public static void a(Class<?> clazz, String method, MotionEvent event, String log, boolean ignoreDuplicate) {
		if (!debug || event == null)
			return;
		int action = event.getAction();
		String calssName = clazz == null ? "" : clazz.getSimpleName();
		String key = calssName + method;
		Integer i = actionMap.get(key);
		int value = -10;
		if (i != null)
			value = i;
		if (action != value)
			actionMap.put(key, action);
		if (ignoreDuplicate && action == value)
			return;
		StringBuilder sb = new StringBuilder();
		sb.append("class : " + calssName);
		sb.append(TextUtil.isEmpty(calssName) ? "" : ", method : " + method);
		sb.append(", action : " + getAction(action));
		sb.append(TextUtil.isEmpty(log) ? "" : ", log : " + log);
		Log.d("ActionTracker", sb.toString());
	}

	public static void a(Class<?> clazz, String method, MotionEvent event) {
		a(clazz, method, event, "");
	}

	public static void k(Class<?> clazz, String method, int keyCode, KeyEvent event) {
		k(clazz, method, keyCode, event, "");
	}

	public static void k(Class<?> clazz, String method, int keyCode, KeyEvent event, String log) {
		if (!debug) {
			return;
		}

		String calssName = clazz == null ? "" : clazz.getSimpleName();
		StringBuilder sb = new StringBuilder();
		sb.append("class : " + calssName);
		sb.append(TextUtil.isEmpty(calssName) ? "" : ", method : " + method);
		sb.append(", keycode : " + keyCode);
		if (event != null) {
			int action = event.getAction();
			sb.append(", action : " + getAction(action));
		}
		sb.append(TextUtil.isEmpty(log) ? "" : ", log : " + log);
		Log.d("KeyEventTracker", sb.toString());

	}

	public static String getAction(int action) {
		switch (action) {
		case MotionEvent.ACTION_CANCEL:
			return "ACTION_CANCEL";
		case MotionEvent.ACTION_UP:
			return "ACTION_UP";
		case MotionEvent.ACTION_DOWN:
			return "ACTION_DOWN";
		case MotionEvent.ACTION_MOVE:
			return "ACTION_MOVE";
		case MotionEvent.ACTION_OUTSIDE:
			return "ACTION_OUTSIDE";
			// case MotionEvent.ACTION_SCROLL:
			// return "ACTION_SCROLL";
		}
		return null;
	}

	public static void clearCache() {
		File logFile = new File(LOG_PATH + "/log4pad.txt");
		if (logFile.exists()) {
			logFile.delete();
		}
	}

	public static void writeToCache(String filter, String msg) {
		if (msg.contains(filter)) {
			FileOutputStream fos = null;
			try {
				File logFile = new File(LOG_PATH);
				if (!logFile.exists()) {
					logFile.mkdirs();
				}
				fos = new FileOutputStream(logFile + "/log4pad.txt", true);
				fos.write(msg.getBytes());
				fos.write("\n\r".getBytes());
				fos.flush();
			} catch (FileNotFoundException e) {
				e.printStackTrace();
			} catch (IOException e) {
				e.printStackTrace();
			}
			finally {
				if (fos != null) {
					try {
						fos.close();
					} catch (IOException e) {
						e.printStackTrace();
					}
					fos = null;
				}
			}
		}
	}

	public static void trace() {
		StackTraceElement[] traces = Thread.currentThread().getStackTrace();
for (StackTraceElement stackTraceElement : traces) {
			LogUtil.d("Trace", stackTraceElement.toString());
		}
	}
}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

年辖:市辖区| 嘉鱼县| 中宁县| 盖州市| 宁海县| 明溪县| 乌审旗| 依安县| 讷河市| 通榆县| 台北县| 将乐县| 措勤县| 巴林左旗| 祁东县| 康马县| 焉耆| 靖西县| 堆龙德庆县| 长汀县| 高淳县| 拜泉县| 苏尼特右旗| 鄢陵县| 禹州市| 廉江市| 鹤山市| 监利县| 凯里市| 崇义县| 阿克陶县| 遵义市| 邳州市| 文化| 合江县| 兰溪市| 阳高县| 比如县| 北票市| 碌曲县| 安庆市|