package com.project.shared.client.loggers; import java.util.logging.Level; import com.google.gwt.dom.client.Style; import com.google.gwt.dom.client.Style.Overflow; import com.google.gwt.dom.client.Style.Position; import com.google.gwt.dom.client.Style.Unit; import com.google.gwt.user.client.ui.FlowPanel; import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.Widget; import com.project.shared.utils.loggers.ILogger; public class HTMLLogger implements ILogger { public static HTMLLogger INSTANCE = new HTMLLogger(); private HTMLLogger() { Style style = this._panel.getElement().getStyle(); style.setPosition(Position.ABSOLUTE); style.setBottom(0, Unit.PX); style.setHeight(33, Unit.PCT); style.setLeft(0, Unit.PX); style.setRight(0, Unit.PX); style.setOverflow(Overflow.AUTO); style.setBackgroundColor("white"); style.setZIndex(30000); } private final FlowPanel _panel = new FlowPanel(); @Override public void log(String str, Level level) { String prefix = (null == level) ? "" : level.toString() + " : "; Label label = new Label(prefix + str); if (null != level) { label.addStyleName("logger-level-" + level.toString()); } _panel.insert(label, 0); } public Widget getLogWidget() { return this._panel; } }