1

使用 gwt logs jar 我可以在我的控制台上显示日志。但是现在我想从 cient 端在我的 olgs 文件中添加日志,就像我们在服务器端使用 log4j 一样。所以我参考了http://code.google.com/p/gwt-log/wiki/GettingStarted这个链接,但我没有看到在我的日志文件中生成任何客户端日志。

以下是我的 gwt.xml 文件

<inherits name="com.allen_sauer.gwt.log.gwt-log-DEBUG" />
<set-property name="log_DivLogger" value="DISABLED" />
<!-- In gwt-log-3.0.3 or later -->
<inherits name="com.allen_sauer.gwt.log.gwt-log-RemoteLogger" />
<set-configuration-property name="log_pattern" value="%d [%t] %p - %m
   %n" />

以下是我的 web.xml 文件

<servlet>
<servlet-name>gwt-log-remote-logger-servlet</servlet-name>
<servlet-class>com.allen_sauer.gwt.log.server.RemoteLoggerServiceImpl</servlet-class>
<!--
   The `symbolMaps` parameter specifies the server directory
    containing the GWT compiler symbol maps output, which is used
     for stack trace deobfuscation
    -->
  <init-param>
       <!-- This value assumes a GWT compile with '-deploy war/WEB-INF/deploy/' -->
      <param-name>symbolMaps</param-name>
       <!--
     Modify the param-value based on your server environment. Some web servers
    use your `war` directory as the 'current working dir', while other
    vendors will do something different. You may use trial and error. Specify the
    relative path you think should work, then check the server log after forwarding
    the first client log message to the server. If the directory cannot be found,
    gwt-log will report the full path which it tried.
  -->
  <param-value>WEB-INF/deploy/detectfiles/symbolMaps/</param-value>
  </init-param>

  <!--
    Additional or alternate directories may be specified via additional parameter
  which also begin with `symbolMaps`. This may be useful if you deploy to multiple
  server environments which use different directory structures or have a different
  notion of what the 'current working directory' is.
 --> 
 <init-param>
   <param-name>symbolMaps_2</param-name>
   <param-value>WEB-INF/deploy/detectfiles/symbolMaps/</param-value>
 </init-param>

     <!-- Optionally enable CORS (http://www.w3.org/TR/cors/)
  <init-param>
     <param-name>Access-Control-Allow-Origin</param-name>
     <param-value>http://your-applications-origin</param-value>
  </init-param> 
  -->
</servlet>

<servlet-mapping>
    <servlet-name>gwt-log-remote-logger-servlet</servlet-name>
  <url-pattern>/com.renault.detectfiles/gwt-log</url-pattern>
  </servlet-mapping>

我在clinet端添加了如下日志

        Log.debug("Hi this is a debug log");
4

1 回答 1

0

首先,确保使用附加参数 -deploy war/WEB-INF/deploy/ 编译 GWT 应用程序。

其次,确保目录中存在符号映射 WEB-INF/deploy/detectfiles/symbolMaps/WEB-INF/deploy/<module-name>/symbolMaps/我观察到符号映射在我编译时会进入目录。在这里,detectfiles看起来不像您的模块名称。因为,在 url 模式中,您已指定com.renault.detectfiles为模块名称。

这些可能是看不到日志的可能原因。

于 2012-06-22T10:11:01.033 回答