From 1f3acf4c29f367e40a3f589b51176ed24e28948f Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期二, 02 九月 2025 17:54:42 +0800
Subject: [PATCH] 2025年09月02日17:54:39
---
app/src/main/java/com/hdl/photovoltaic/other/HdlLogLogic.java | 133 ++++++++++++++++++++++++++++++++++++++++----
1 files changed, 121 insertions(+), 12 deletions(-)
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlLogLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlLogLogic.java
index 3233896..dab21db 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlLogLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlLogLogic.java
@@ -1,31 +1,140 @@
package com.hdl.photovoltaic.other;
-import android.util.Log;
+
+import android.util.LruCache;
+
+import com.google.gson.Gson;
+import com.hdl.photovoltaic.config.UserConfigManage;
+import com.hdl.photovoltaic.utils.TimeUtils;
/**
* 鏃ュ織閫昏緫
*/
public class HdlLogLogic {
- private static volatile HdlLogLogic sHdlLogLogic;
+ //鏄惁鍚姩鎵撳嵃鍒癓ogcat涓婄殑鏍囩(true:琛ㄧず鎵撳嵃锛宖alse锛氳〃绀轰笉鎵撳嵃)
+ public static boolean isStartPrintLogcat = true;
- public static synchronized HdlLogLogic getInstance() {
- if (sHdlLogLogic == null) {
- synchronized (HdlLogLogic.class) {
- if (sHdlLogLogic == null) {
- sHdlLogLogic = new HdlLogLogic();
+ //鏄惁鍚姩鍔犲埌鍐呭瓨閲岄潰鐨勬爣绛�(true:琛ㄧず鍔犲叆锛宖alse锛氳〃绀轰笉鍔犲叆)
+ public static boolean isStartAddToMemory = true;
+
+ //榛樿鎵撳嵃鏍囬
+ private static String logTitle = "";//鑷畾涔夎緭鍑烘墦鍗颁俊鎭�
+
+ private static final Gson gson = new Gson();
+
+ private static final CustomLogObject customLogObject = new CustomLogObject();
+
+ /**
+ * java鎵撳嵃
+ *
+ * @param customizeContentFormat 鑷畾涔夊唴瀹规牸寮�
+ */
+ public static void print(String customizeContentFormat) {
+ printBase(customizeContentFormat, "0", false);
+ }
+
+ /**
+ * java鎵撳嵃
+ *
+ * @param customizeContentFormat 鑷畾涔夊唴瀹规牸寮�
+ * @param isAddToMemory 鏄惁鍔犲叆鍐呭瓨(鏈湴鏃ュ織鐢ㄥ埌)
+ */
+ public static void print(String customizeContentFormat, boolean isAddToMemory) {
+ printBase(customizeContentFormat, "0", isAddToMemory);
+ }
+
+ /**
+ * java鎵撳嵃
+ *
+ * @param msg 鑷畾涔夊唴瀹规牸寮�
+ * @param code 鐘舵�佺爜
+ * @param isAddToMemory 鏄惁鍔犲叆鍐呭瓨(鏈湴鏃ュ織鐢ㄥ埌)
+ */
+ public static void print(String msg, int code, boolean isAddToMemory) {
+ printBase(msg, code + "", isAddToMemory);
+ }
+
+
+ /**
+ * java鎵撳嵃鍜屽瓨鍌ㄦ棩蹇�
+ *
+ * @param msg 淇℃伅鎻忚堪
+ * @param code 鐘舵��
+ * @param isAddToMemory 鏄惁鍔犲叆鍐呭瓨(鏈湴鏃ュ織鐢ㄥ埌)
+ */
+ private static void printBase(String msg, String code, boolean isAddToMemory) {
+ try {
+// //濡傛灉杩欓噷棰戠箒鐨刵ew瀵硅薄鍙兘浼氬奖鍝嶅姞杞芥暟鎹�熷害
+// CustomLogObject customLogObject = new CustomLogObject();
+ customLogObject.setMsgOrData(msg);
+ customLogObject.setCode(code);
+ String json = logTitle + (UserConfigManage.getInstance().isBAccount() ? "(B绔�)==" : "(C绔�)==") + gson.toJson(customLogObject);
+ if (isStartPrintLogcat) {
+ System.out.println(json.replace("\\", ""));
+ }
+ if (isStartAddToMemory) {
+ if (isAddToMemory) {
+ writeLog(json);
}
}
+ } catch (Exception ignored) {
}
- return sHdlLogLogic;
- }
-
- public static void print(String tag, String mgs) {
- Log.d(tag, mgs);
}
+ /**
+ * 鍐欏叆鏃ュ織鍐呭鍒版湰鍦�
+ *
+ * @param strLog 鍐欏叆鍐呭
+ */
+ public static void writeLog(String strLog) {
+ synchronized (HdlLogLogic.class) {
+ strLog = TimeUtils.getTimeFromTimestamp(System.currentTimeMillis(), true) + "s%" + " " + strLog;//鍔犳墦鍗版椂闂�(s%鍗犱綅绗︼紝璁剧疆鏄剧ず鏃堕棿涓嶅悓瀛椾綋棰滆壊)
+ HdlFileLogic.getInstance().appendFile(HdlFileLogic.getInstance().getLogFileNamePath(), strLog.replace("\\", ""));
+ }
+ }
+
+ /**
+ * 璇诲彇鏃ュ織鍐呭
+ *
+ * @return 鏃ュ織鍐呭
+ */
+ public static String readLog() {
+ return HdlFileLogic.getInstance().readFile(HdlFileLogic.getInstance().getLogFileNamePath());
+ }
+
+
+ /**
+ * 鑷畾涔夋棩蹇楃被
+ */
+ static class CustomLogObject {
+
+ //淇℃伅鎻忚堪
+ private String msgOrData;
+
+ //鐘舵�佺爜
+ private String code;
+
+ public String getMsgOrData() {
+ return msgOrData == null ? "" : msgOrData;
+ }
+
+ public void setMsgOrData(String msgOrData) {
+ this.msgOrData = msgOrData;
+ }
+
+ public String getCode() {
+ return code == null ? "0" : code;
+ }
+
+ public void setCode(String code) {
+ this.code = code;
+ }
+
+
+ }
}
--
Gitblit v1.8.0