Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在GWT中设置remoteLoggingServlet_Gwt_Logging - Fatal编程技术网

在GWT中设置remoteLoggingServlet

在GWT中设置remoteLoggingServlet,gwt,logging,Gwt,Logging,在远程日志部分下面,它说您需要 您还需要为remoteLoggingServlet提供服务 我想使用远程日志功能,但找不到如何执行此步骤的示例 我已经在my.gwt.xml中设置了以下内容 <!-- Logging configuration --> <inherits name="com.google.gwt.logging.Logging"/> <set-property name="gwt.logging.logLevel" value="INFO"/

在远程日志部分下面,它说您需要

您还需要为remoteLoggingServlet提供服务

我想使用远程日志功能,但找不到如何执行此步骤的示例

我已经在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" />   

日志显示在std.out控制台和dev模式控制台中,但通过远程日志记录,我得到以下错误

严重:远程日志记录失败: 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(未知源) 在sun.reflect.DelegatingMethodAccessorImpl.invoke处(未知源) 位于java.lang.reflect.Method.invoke(未知源) 位于com.google.gwt.dev.shell.MethodAdapter.invoke(methodAdapter.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: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.invokenactive(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.MethodAdapter.invoke(methodAdapter.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(未知源)

中,您应该在web.xml中定义远程日志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>

远程日志记录
com.google.gwt.logging.server.RemoteLoggingServiceImpl
远程日志记录
/您的gwt模块名称/远程日志记录

我发现这篇博文非常有用:

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” />

我不明白他们为什么在文档中对这一点含糊其辞。好问题。看起来IntelliJ想要将“您的gwt模块名称”自动更正为“com.google.gwt.logging.logging”。我使用了我的gwt模块名称,而不是直接使用文本。当然,“您的gwt模块名称”指的是您应该将gwt模块的名称放在这里,正如它出现在/war目录中一样,并且可能通过.gwt.XML文件中的“重命名为”XML属性来完成。确保您定义的路径在您的服务器上是可访问的,并且名称不会与任何其他名称冲突。Logger=Logger.getLogger(“simpleRemoteHandler”);logger.log(Level.SEVERE,“应记录此消息”);
<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>
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”));