Настройте удаленный лог-сервис в GWT - PullRequest
29 голосов
/ 28 апреля 2011

С http://code.google.com/intl/es-ES/webtoolkit/doc/latest/DevGuideLogging.html в разделе удаленного ведения журнала говорится, что вам нужно

Вам также необходимо будет обслуживать remoteLoggingServlet.

Я хотел бы использовать функцию удаленного ведения журнала, но не могу найти пример того, как сделать этот шаг.

Я настроил следующее в моем .gwt.xml

<!-- Logging configuration -->
  <inherits name="com.google.gwt.logging.Logging"/>
  <set-property name="gwt.logging.logLevel" value="INFO"/>
  <set-property name="gwt.logging.enabled" value="TRUE"/>
  <set-property name="gwt.logging.simpleRemoteHandler" value="ENABLED" />  
  <set-property name="gwt.logging.developmentModeHandler" value="ENABLED" />  
  <set-property name="gwt.logging.systemHandler" value="ENABLED" />
  <set-property name="gwt.logging.popupHandler" value="DISABLED" />
  <set-property name="gwt.logging.consoleHandler" value="DISABLED"/> 
  <set-property name="gwt.logging.firebugHandler" value="DISABLED" />   

Журналы появляются в консоли std.out и консоли режима dev, но при удаленном ведении журнала появляется следующая ошибка

SEVERE: ошибка удаленного ведения журнала: com.google.gwt.user.client.rpc.StatusCodeException: 404

на com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter.onResponseReceived (RequestCallbackAdapter.java:209) на com.google.gwt.http.client.Request.fireOnResponseReceived (Request.java:287) по адресу com.google.gwt.http.client.RequestBuilder $ 1.onReadyStateChange (RequestBuilder.java:395) по адресу sun.reflect.GeneratedMethodAccessor23.invoke (не известен)..invoke (Неизвестный источник) на java.lang.reflect.Method.invoke (Неизвестный источник) на com.google.gwt.dev.shell.MethodAdaptor.invoke (MethodAdaptor.java:103) на com.google.gwt.dev.shell.MethodDispatch.invoke (MethodDispatch.java:71) по адресу com.google.gwt.dev.shell.OophmSessionHandler.invoke (OophmSessionHandler.java:157) по адресу com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingverJnelS:326) на com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript (BrowserChannelServer.java:207) на com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke (ModuleSpaceOOPHM.java:129) на com.google.gwt.dev.shell.ModuleSpace.invokeNative (ModuleSpace.java:561) в com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject (ModuleSpace.java:269) в com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91) на com.google.gwt.core.client.impl.Impl.apply (Impl.java) на com.google.gwt.core.client.impl.Impl.entry0 (Impl.java:214) в sun.reflect.GeneratedMethodAccessor18.invoke (неизвестный источник) в sun.reflect.DelegatingMethodAccessorImpl.invoke (неизвестный источник) в java.lang.reflect.Method.invoke (неизвестный источник) в com.google.gwt.dev.shell.MethodAdaptor.invoke (MethodAdaptor.java:103) на com.google.gwt.dev.shell.MethodDispatch.invoke (MethodDispatch.java:71) на com.google.gwt.dev.shell.OophmSessionHandler.invoke (OophmSessionHandler.java:157) на com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages (BrowserChannelServer.java:281) на com.google.gwt.dev.shell.BrowserChannelServer.processConnection (BrowserChannelServer.java:531) на com.google.gwt..dev.shell.BrowserChannelServer.run (BrowserChannelServer.java:352) в java.lang.Thread.run (неизвестный источник)

Ответы [ 2 ]

34 голосов
/ 11 мая 2011

Вы должны определить сервлет remote_logging в своем файле web.xml:

<!-- remote logging -->
<servlet>
    <servlet-name>remoteLogging</servlet-name>
    <servlet-class>com.google.gwt.logging.server.RemoteLoggingServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>remoteLogging</servlet-name>
    <url-pattern>/your-gwt-module-name/remote_logging</url-pattern>
</servlet-mapping>
2 голосов
/ 29 января 2016

Я нашел этот пост очень полезным:

https://vegdave.wordpress.com/2013/02/26/howto-setup-gwt-remote-logging/

App.gwt.xml:

<inherits name=”com.google.gwt.logging.Logging”/>
<set-property name=”gwt.logging.simpleRemoteHandler” value=”ENABLED” />
<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.popupHandler” value=”DISABLED” />

web.xml:

<servlet>
<servlet-name>remoteLogging</servlet-name>
<servlet-class>com.google.gwt.logging.server.RemoteLoggingServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>remoteLogging</servlet-name>
<url-pattern>/YOUR_MODULE/remote_logging</url-pattern>
</servlet-mapping>

В GWT:

import com.google.gwt.logging.client.SimpleRemoteLogHandler;
import java.util.logging.Level;
import java.util.logging.LogRecord;

SimpleRemoteLogHandler remoteLog = new SimpleRemoteLogHandler();
remoteLog.publish(new LogRecord(Level.INFO, “log message”));
...