package com.hdl.photovoltaic.other; import com.hdl.photovoltaic.utils.TimeUtils; /** * 日志逻辑 */ public class HdlLogLogic { //是否需要打印到Logcat上(true不需要打印) public static boolean isPrintLogcat = false; //默认打印标题 private static final String title = "自定义输出打印信息:"; /** * java打印 * * @param content 自定义信息描述 */ public static void print(String content) { printBase(content, "0", false); } /** * java打印 * * @param content 自定义信息描述 * @param isBoolean 是否加入内存(本地日志用到) */ public static void print(String content, boolean isBoolean) { printBase(content, "0", isBoolean); } /** * java打印 * * @param msg 自定义信息描述 * @param code 状态码 * @param isBoolean 是否加入内存(本地日志用到) */ public static void print(String msg, int code, boolean isBoolean) { printBase(msg, code + "", isBoolean); } /** * java打印和存储日志 * * @param msg 信息描述 * @param code 状态 * @param isBoolean 是否加入内存(本地日志用到) */ private static void printBase(String msg, String code, boolean isBoolean) { if (isPrintLogcat) { return; } CustomLogObject customLogObject = new CustomLogObject(); customLogObject.msgOrData = msg; customLogObject.code = code; String json = title; json += customLogObject.getJointMessage(); System.out.println(json); if (isBoolean) { writeLog(customLogObject.getJointMessage()); } } /** * 写入日志内容到本地 * * @param strLog 写入内容 */ public static void writeLog(String strLog) { synchronized (HdlLogLogic.class) { strLog = TimeUtils.getTimeFromTimestamp(System.currentTimeMillis()) + "s%" + " " + strLog;//加打印时间(s%占位符,显示时间时设置不同字体颜色) HdlFileLogic.getInstance().appendFile(HdlFileLogic.getInstance().getLogFilePath(), strLog); } } /** * 读取日志内容 * * @return 日志内容 */ public static String readLog() { return HdlFileLogic.getInstance().readFile(HdlFileLogic.getInstance().getLogFilePath()); } /** * 自定义日志类 */ static class CustomLogObject { //信息描述 public String msgOrData = ""; //状态码 public String code = "0"; public String getJointMessage() { if ("0".equals(code)) { return msgOrData; } return msgOrData + "(" + code + ")"; } } }