From 87cd5df70918e6ba1af849c5f026d3719bfdb1ac Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期三, 09 四月 2025 09:06:29 +0800
Subject: [PATCH] Merge branch '1.5.2' into dev

---
 app/src/main/java/com/hdl/photovoltaic/other/HdlLogLogic.java |  190 +++++++++++++++++++++++++++--------------------
 1 files changed, 108 insertions(+), 82 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 986d82f..2e9e0dd 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlLogLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlLogLogic.java
@@ -1,113 +1,139 @@
 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 {
 
+    //鏄惁鍚姩鎵撳嵃鍒癓ogcat涓婄殑鏍囩(true:琛ㄧず鎵撳嵃锛宖alse锛氳〃绀轰笉鎵撳嵃)
+    public static boolean isStartPrintLogcat = true;
+
+    //鏄惁鍚姩鍔犲埌鍐呭瓨閲岄潰鐨勬爣绛�(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();
 
     /**
-     * 鏄惁闇�瑕佹墦鍗�(true涓嶉渶瑕佹墦鍗�)
-     */
-    public static boolean isDebug = false;
-
-    private static volatile HdlLogLogic sHdlLogLogic;
-
-    /**
-     * 鑾峰彇褰撳墠瀵硅薄
+     * java鎵撳嵃
      *
-     * @return HdlLogLogic
+     * @param customizeContentFormat 鑷畾涔夊唴瀹规牸寮�
      */
-    public static synchronized HdlLogLogic getInstance() {
-        if (sHdlLogLogic == null) {
-            synchronized (HdlLogLogic.class) {
-                if (sHdlLogLogic == null) {
-                    sHdlLogLogic = new HdlLogLogic();
+    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);
+            }
+            if (isStartAddToMemory) {
+                if (isAddToMemory) {
+                    writeLog(json);
                 }
             }
+        } catch (Exception ignored) {
         }
-        return sHdlLogLogic;
+    }
+
+
+    /**
+     * 鍐欏叆鏃ュ織鍐呭鍒版湰鍦�
+     *
+     * @param strLog 鍐欏叆鍐呭
+     */
+    public static void writeLog(String strLog) {
+        synchronized (HdlLogLogic.class) {
+            strLog = TimeUtils.getTimeFromTimestamp(System.currentTimeMillis()) + "s%" + " " + strLog;//鍔犳墦鍗版椂闂�(s%鍗犱綅绗︼紝璁剧疆鏄剧ず鏃堕棿涓嶅悓瀛椾綋棰滆壊)
+            HdlFileLogic.getInstance().appendFile(HdlFileLogic.getInstance().getLogFileNamePath(), strLog);
+        }
     }
 
     /**
-     * android鎵撳嵃
+     * 璇诲彇鏃ュ織鍐呭
      *
-     * @param tag 鏍囩
-     * @param mgs 閿欒淇℃伅
+     * @return 鏃ュ織鍐呭
      */
-    public static void print(String tag, String mgs) {
-        if (isDebug) {
-            return;
-        }
-        Log.d(tag, mgs);
+    public static String readLog() {
+        return HdlFileLogic.getInstance().readFile(HdlFileLogic.getInstance().getLogFileNamePath());
     }
+
 
     /**
-     * java鎵撳嵃
-     *
-     * @param mgs 杈撳嚭淇℃伅
+     * 鑷畾涔夋棩蹇楃被
      */
-    public static void print(String mgs) {
-        if (isDebug) {
-            return;
+    static class CustomLogObject {
+
+        //淇℃伅鎻忚堪
+        private String msgOrData;
+
+        //鐘舵�佺爜
+        private String code;
+
+        public String getMsgOrData() {
+            return msgOrData == null ? "" : msgOrData;
         }
-        System.out.println(mgs);
+
+        public void setMsgOrData(String msgOrData) {
+            this.msgOrData = msgOrData;
+        }
+
+        public String getCode() {
+            return code == null ? "0" : code;
+        }
+
+        public void setCode(String code) {
+            this.code = code;
+        }
+
+
     }
 
-    /**
-     * java鎵撳嵃
-     *
-     * @param tag  鏍囬
-     * @param mgs  閿欒淇℃伅
-     * @param code 閿欒鐮�
-     */
-    public static void print(String tag, String mgs, int code) {
-        if (isDebug) {
-            return;
-        }
-        System.out.println(title + tag + "======" + mgs + "(" + code + ")");
-    }
-
-    /**
-     * java鎵撳嵃
-     *
-     * @param tag  鏍囬
-     * @param mgs  閿欒淇℃伅
-     * @param code 閿欒鐮�
-     */
-    public static void print(String tag, String mgs, String code) {
-        if (isDebug) {
-            return;
-        }
-        System.out.println(title + tag + "======" + mgs + "(" + code + ")");
-    }
-
-    /**
-     * java鎵撳嵃
-     *
-     * @param tag 鏍囬
-     * @param o   閿欒淇℃伅
-     */
-    public static void print(String tag, Object o) {
-
-        if (isDebug) {
-            return;
-        }
-        if (o == null) {
-            System.out.println(title + tag);
-        } else {
-            try {
-                System.out.println(title + tag + "======" + new Gson().toJson(o));
-            } catch (Exception e) {
-                System.out.println(title + tag + "======" + e.getMessage());
-            }
-        }
-    }
-
-    private static final String title = "鑷畾涔夎緭鍑烘墦鍗颁俊鎭�:";
 
 }

--
Gitblit v1.8.0