/* * Copyright 2010 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package com.google.gwt.sample.logexample.client; import com.google.gwt.core.client.GWT; import com.google.gwt.logging.client.HasWidgetsLogHandler; import com.google.gwt.logging.client.LogConfiguration; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.client.ui.HTMLPanel; import com.google.gwt.user.client.ui.Panel; import com.google.gwt.user.client.ui.VerticalPanel; import java.util.logging.Logger; /** * An example of a custom logging area using the HasWidgetsLogHandler. */ public class CustomLogArea { interface MyUiBinder extends UiBinder<HTMLPanel, CustomLogArea> { } private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class); @UiField VerticalPanel customLogArea; private Panel panel; public CustomLogArea(Logger logger) { panel = uiBinder.createAndBindUi(this); // An example of adding our own custom logging area. Since VerticalPanel // extends HasWidgets, and handles multiple calls to add(widget) gracefully // we simply create a new HasWidgetsLogHandler with it, and add that // handler to a logger. In this case, we add it to a particular logger in // order to demonstrate how the logger hierarchy works, but adding it to the // root logger would be fine. Note that we guard this code with a call to // LogConfiguration.loggingIsEnabled(). Although this code will compile out // without this check in web mode, the guard will ensure that the handler // does not show up in development mode. if (LogConfiguration.loggingIsEnabled()) { logger.addHandler(new HasWidgetsLogHandler(customLogArea)); } } public Panel getPanel() { return panel; } }