在 GWT 中设置 RemoteLoggingServlet

发布于 2024-11-03 21:27:33 字数 3277 浏览 1 评论 0原文

来自 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 控制台和开发模式控制台中,但使用远程日志记录时,我收到以下错误

严重:远程日志记录失败: 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.GenerateMethodAccessor23.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.reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java: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.GenerateMethodAccessor18.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(来源未知)

From http://code.google.com/intl/es-ES/webtoolkit/doc/latest/DevGuideLogging.html under the remote logging section it says that you need to

You will also need to serve the remoteLoggingServlet.

I would like to use the remote logging feature but I cannot find an example of how to do this step.

I have setup the following in my .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" />   

The logs appear in the std.out console and the dev mode console but with the remote logging I get the following error

SEVERE: Remote logging failed:
com.google.gwt.user.client.rpc.StatusCodeException: 404

at com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter.onResponseReceived(RequestCallbackAdapter.java:209)
at com.google.gwt.http.client.Request.fireOnResponseReceived(Request.java:287)
at com.google.gwt.http.client.RequestBuilder$1.onReadyStateChange(RequestBuilder.java:395)
at sun.reflect.GeneratedMethodAccessor23.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:157)
at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:326)
at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:207)
at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:129)
at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561)
at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:269)
at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91)
at com.google.gwt.core.client.impl.Impl.apply(Impl.java)
at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:214)
at sun.reflect.GeneratedMethodAccessor18.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:157)
at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:281)
at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:531)
at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:352)
at java.lang.Thread.run(Unknown Source)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

电影里的梦 2024-11-10 21:27:33

您应该在 web.xml 中定义remote_logging servlet:

<!-- 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>

You should define remote_logging servlet in your 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>
猫腻 2024-11-10 21:27:33

我发现这篇博文非常有帮助:

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”));

I found this blog post very helpful:

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>

In 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”));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文