GWT日志设置

Jav*_*ero 10 gwt logging

我正在使用GWT 2.1 java.util.logging 仿真来记录客户端消息.根据该文档,提供了两个适用于客户端日志记录的格式化程序(TextFormatter和HTMLFormatter).

任何人都可以提供一个如何设置格式化程序并将其附加到GWT中的处理程序的示例吗?

谢谢

LIN*_*N78 17

请参阅记录的GWT文档这里.它实际上取决于您希望日志记录显示的位置,但如果您只关心以Dev模式登录,那么您只需要SystemLogHandler和DevelopmentModeLogHandler.ConsoleLogHandler和FirebugLogHandler用于web模式记录到chrome,firebug和firebug lite.PopupLogHandler和HasWidgetsLogHandler将日志消息添加到某种UI元素.除了需要关联的小部件容器的HasWidgetsLogHandler之外,所有上述内容都应该能够在.gwt.xml中启用/禁用.这可以通过添加以下内容来实现:

<inherits name="com.google.gwt.logging.Logging"/>
<set-property name="gwt.logging.logLevel" value="SEVERE"/> # To change the default logLevel
<set-property name="gwt.logging.enabled" value="FALSE"/> # To disable logging
<set-property name="gwt.logging.consoleHandler" value="DISABLED"/>  # To disable a default Handler
<set-property name="gwt.logging.developmentModeHandler" value="DISABLED" />
<set-property name="gwt.logging.popupHandler" value="DISABLED" />
<set-property name="gwt.logging.systemHandler" value="DISABLED" />
<set-property name="gwt.logging.firebugHandler" value="DISABLED" />
<set-property name="gwt.logging.simpleRemoteHandler" value="ENABLED" />
etc...
Run Code Online (Sandbox Code Playgroud)


Hil*_*amp 9

以下是向Root记录器添加Log处理程序的简单示例.记录器使用HTMLLogFormatter并将消息放入HTML小部件中.

HTML html = new HTML();
// add the html widget somewhere in your code.
Logger.getLogger("").addHandler(new Handler() {
  {
    // set the formatter, in this case HtmlLogFormatter
    setFormatter(new HtmlLogFormatter(true));
    setLevel(Level.ALL);
  }

  @Override
  public void publish(LogRecord record) {
    if (!isLoggable(record)) {
      Formatter formatter = getFormatter();
      String msg = formatter.format(record);

      html.setHTML(msg);
    }
  }
});
Run Code Online (Sandbox Code Playgroud)

另外看看HasWidgetsLogHandler,它基本上做了上面例子中的处理程序.