1

gwt logs jar を使用すると、コンソールにログを表示できます。しかし、サーバー側でlog4jを使用しているように、cient側からolgsファイルにログを追加したいと思いました。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

まず、GWT アプリケーションを追加のパラメーター -deploy war/WEB-INF/deploy/ でコンパイルすることを確認してください。

次に、ディレクトリにシンボル マップが存在することを確認します WEB-INF/deploy/detectfiles/symbolMaps/。コンパイルすると、シンボルマップがディレクトリWEB-INF/deploy/<module-name>/symbolMaps/に移動することがわかりました。ここでdetectfilesは、モジュール名のようには見えません。url-pattern ではcom.renault.detectfiles、モジュール名として指定しているためです。

これらは、ログが表示されない原因として考えられます。

于 2012-06-22T10:11:01.033 に答える