xapi.adapter.log.gwt.GwtLogAdapter Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of xapi-dev Show documentation
Show all versions of xapi-dev Show documentation
Everything needed to run a comprehensive dev environment.
Just type X_ and pick a service from autocomplete;
new dev modules will be added as they are built.
The only dev service not included in the uber jar is xapi-dev-maven,
as it includes all runtime dependencies of maven, adding ~4 seconds to build time,
and 6 megabytes to the final output jar size (without xapi-dev-maven, it's ~1MB).
The newest version!
package xapi.adapter.log.gwt;
import xapi.collect.api.Fifo;
import xapi.except.NotYetImplemented;
import xapi.log.api.LogLevel;
import xapi.log.api.LogService;
import xapi.log.impl.JreLog;
import com.google.gwt.core.ext.TreeLogger;
import com.google.gwt.dev.util.log.CompositeTreeLogger;
public class GwtLogAdapter extends CompositeTreeLogger {
private final LogService service;
private boolean logToChildren;
public GwtLogAdapter(LogService service, TreeLogger ... children) {
super(children);
this.service = service == null ? new JreLog() : service;
}
@Override
public boolean isLoggable(Type type) {
switch (type) {
case ALL:
case TRACE:
return service.shouldLog(LogLevel.ALL);
case DEBUG:
return service.shouldLog(LogLevel.DEBUG);
case ERROR:
return service.shouldLog(LogLevel.ERROR);
case INFO:
return service.shouldLog(LogLevel.INFO);
case SPAM:
return service.shouldLog(LogLevel.TRACE);
case WARN:
return service.shouldLog(LogLevel.WARN);
}
return isLogToChildren() && super.isLoggable(type);
}
@Override
public void log(Type type, String msg, Throwable caught, HelpInfo helpInfo) {
Fifo