gpt4 book ai didi

java - GWT 记录器 : Different Levels to Different Handlers

转载 作者:行者123 更新时间:2023-11-29 09:01:23 26 4
gpt4 key购买 nike

我正在尝试配置我的第一个 GWT 记录器,到目前为止,我已经将日志消息打印到我的 JS 控制台(FF 的 Firebug):

<!-- Configure logging. -->
<inherits name="com.google.gwt.logging.Logging"/>
<set-property name="gwt.logging.logLevel" value="FINEST"/>
<set-property name="gwt.logging.enabled" value="TRUE"/>
<set-property name="gwt.logging.consoleHandler" value="ENABLED"/>
<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="DISABLED" />

最终,我希望非SEVERE 消息转到consoleHandlerSEVERE 消息转到 simpleRemoteHandler.

我怎样才能做到这一点?我怎样才能让某些日志级别转到 1 个处理程序,并将 SEVERE 消息转到另一个处理程序?提前致谢!

最佳答案

按照gwt的正常方式logging documentation是:

GWT 日志记录附带了一组已经定义并(默认情况下)附加到根记录器的处理程序。您可以如上所述在 .gwt.xml 文件中禁用这些处理程序,扩展它们,将它们附加到其他记录器,等等。

因此基于这个想法,向您的记录器添加一个自定义的处理程序,并仅向服务器发送SEVERE 记录:

  // This code is almost taken from the SimpleRemoteLogHandler.java because
// it is a final class and we cannot extend it.
logger.addHandler(new RemoteLogHandlerBase() {

private AsyncCallback<String> callback = new AsyncCallback<String>() {
public void onFailure(Throwable caught) {
wireLogger.log(Level.SEVERE, "Remote logging failed: ", caught);
}
public void onSuccess(String result) {
if (result != null) {
wireLogger.severe("Remote logging failed: " + result);
} else {
wireLogger.finest("Remote logging message acknowledged");
}
}
};

private RemoteLoggingServiceAsync service = (RemoteLoggingServiceAsync) GWT.create(RemoteLoggingService.class);

@Override
public void publish(LogRecord record) {
if (record.getLevel() == Level.SEVERE) {
if (isLoggable(record)) {
service.logOnServer(record, callback);
}
}
}

});

关于java - GWT 记录器 : Different Levels to Different Handlers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17246760/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com