wjc
2025-05-07 5d3efa4c93dde0cde474951e5310bb72ebbf4184
app/src/main/java/com/hdl/photovoltaic/other/HdlLogLogic.java
@@ -1,6 +1,8 @@
package com.hdl.photovoltaic.other;
import android.util.LruCache;
import com.google.gson.Gson;
import com.hdl.photovoltaic.config.UserConfigManage;
import com.hdl.photovoltaic.utils.TimeUtils;
@@ -10,11 +12,18 @@
 */
public class HdlLogLogic {
    //是否需要打印到Logcat上(false不需要打印)
    public static boolean isPrintLogcat = true;
    //是否启动打印到Logcat上的标签(true:表示打印,false:表示不打印)
    public static boolean isStartPrintLogcat = true;
    //是否启动加到内存里面的标签(true:表示加入,false:表示不加入)
    public static boolean isStartAddToMemory = true;
    //默认打印标题
    private static String logTitle = "自定义输出打印信息" + (UserConfigManage.getInstance().isBAccount() ? "(B端):" : "(C端):");
    private static String logTitle = "";//自定义输出打印信息
    private static final Gson gson = new Gson();
    private static final CustomLogObject customLogObject = new CustomLogObject();
    /**
     * java打印
@@ -55,16 +64,21 @@
     * @param isAddToMemory 是否加入内存(本地日志用到)
     */
    private static void printBase(String msg, String code, boolean isAddToMemory) {
        CustomLogObject customLogObject = new CustomLogObject();
        customLogObject.msgOrData = msg;
        customLogObject.code = code;
        String json = logTitle;
        json += customLogObject.getJointMessage();
        if (isPrintLogcat) {
            System.out.println(json);
        }
        if (isAddToMemory) {
            writeLog(customLogObject.getJointMessage());
        try {
//            //如果这里频繁的new对象可能会影响加载数据速度
//            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) {
        }
    }
@@ -76,8 +90,9 @@
     */
    public static void writeLog(String strLog) {
        synchronized (HdlLogLogic.class) {
            strLog = TimeUtils.getTimeFromTimestamp(System.currentTimeMillis()) + "s%" + " " + strLog;//加打印时间(s%占位符,设置显示时间不同字体颜色)
            HdlFileLogic.getInstance().appendFile(HdlFileLogic.getInstance().getLogFileNamePath(), strLog);
            strLog = TimeUtils.getTimeFromTimestamp(System.currentTimeMillis(), true) + "s%" + " " + strLog;//加打印时间(s%占位符,设置显示时间不同字体颜色)
            HdlFileLogic.getInstance().appendFile(HdlFileLogic.getInstance().getLogFileNamePath(), strLog.replace("\\", ""));
        }
    }
@@ -95,19 +110,30 @@
     * 自定义日志类
     */
    static class CustomLogObject {
        //信息描述
        public String msgOrData = "";
        private String msgOrData;
        //状态码
        public String code = "0";
        private String code;
        public String getJointMessage() {
            if ("0".equals(code)) {
                return msgOrData;
            }
            return msgOrData + "(" + 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;
        }
    }