package org.ripple.power.ui.view.log; import org.ripple.power.config.LSystem; import org.ripple.power.utils.DateUtils; public class DebugMode implements LoggerMode { private Level level; private String[] tag; private void setTag(String className) { tag = new String[Level.MAX.getVal()]; for (int i = 0; i < Level.MAX.getVal(); i++) { Level level = Level.values()[i]; StringBuilder sb = new StringBuilder(); sb.append(level.toString()); sb.append(":"); if (className != null) { sb.append(className); } tag[i] = sb.toString(); } } public DebugMode(String className) { setTag(className); level = Level.ALL_LOG; } public void setLevel(Level level) { this.level = level; } private void log(Level checkLevel, String message, Object... obj) { if (checkLevel.getVal() >= level.getVal()) { Log(tag[checkLevel.getVal()], message, obj); } } public void debug(String message, Object... obj) { Level checkLevel = Level.DEBUG; log(checkLevel, message, obj); } public void info(String message, Object... obj) { Level checkLevel = Level.INFO; log(checkLevel, message, obj); } public void warn(String message, Object... obj) { Level checkLevel = Level.WARN; log(checkLevel, message, obj); } public void fatal(String message, Object... obj) { Level checkLevel = Level.FATAL; log(checkLevel, message, obj); } public void error(String message, Object... obj) { Level checkLevel = Level.ERROR; log(checkLevel, message, obj); } public void Log(String tag, String msg, Object... obj) { StringBuffer buf = new StringBuffer(); buf.append(DateUtils.toDate()); buf.append(" "); buf.append("["); buf.append(level); buf.append("]"); buf.append(tag); buf.append(" - "); buf.append(String.format(msg, obj)); buf.append(LSystem.LS); LogView.get().append(buf.toString()); LogView.get().show(); } }