GWT-log如何写入特定文件?

时间:2011-06-20 08:02:36

标签: gwt

我正在使用GWT-log来编写日志消息。现在,我可以在控制台和catalina文件中看到日志(在我的tomcat中)我想将日志写入特定文件(我将定义)。我怎么能这样做?

我正在使用GWT romote-logging:

<inherits name="com.google.gwt.logging.Logging"/> <set-property name="gwt.logging.simpleRemoteHandler" value="ENABLED" />

在我的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>/MyModule/remote_logging</url-pattern>
</servlet-mapping>

2 个答案:

答案 0 :(得分:2)

我尝试配置logging.properties来写入文件,但没有任何运气。

<servlet>
  <servlet-name>remoteLoggingServlet</servlet-name>
  <servlet-class>com.google.gwt.logging.server.RemoteLoggingServiceImpl</servlet-class>
  <init-param>
      <param-name>java.util.logging.config.file</param-name>
      <param-value>/WEB-INF/classes/logging.properties</param-value>
  </init-param>
</servlet>

<servlet-mapping>
  <servlet-name>remoteLoggingServlet</servlet-name>
  <url-pattern>/my.app.path/remote_logging</url-pattern>
</servlet-mapping>

还尝试在我的项目的根目录进行配置,但没有成功。 我想知道这是否是因为java.util.logging.FileHandler不在模拟类中?

http://code.google.com/intl/es-ES/webtoolkit/doc/latest/DevGuideLogging.html#Emulated_And_Non_Emulated

如果能够如此接近但无法在生产中跟踪这些类型的错误,那将是一种耻辱。

然而,这对我来说没有意义,因为远程日志记录服务似乎只使用了vanilla java.util.Logging:

http://www.google.com/codesearch#A1edwVHBClQ/user/src/com/google/gwt/logging/server/RemoteLoggingServiceUtil.java&is_navigation=1

---------更新------------

为了它的价值,我最终获取了RemoteLoggingServiceUtil和RemoteLoggingServiceImpl类并自己实现它们,并将它们交换为使用log4j。

这完全解决了这个问题,我现在可以将其配置为登录到服务器端日志。

这可能是特定于GWT日志记录,或者可能是我缺乏配置java.util.Logging的经验,但这最终变得更加清洁,因为我在项目中的其他地方使用log4j,所以我可以有一个日志文件。

所有这些都需要将web.config远程日志记录servlet更改为指向我自己的文件:

<servlet>
  <servlet-name>remoteLoggingServlet</servlet-name>
  <servlet-class>my.class.path.RemoteLoggingServiceImpl</servlet-class>
</servlet>

<servlet-mapping>
  <servlet-name>remoteLoggingServlet</servlet-name>
  <url-pattern>/edu.wisc.nelson.wolfhuntingsimulator.WolfHuntingSimulator/remote_logging</url-pattern>
</servlet-mapping>

答案 1 :(得分:0)

我认为你只想使用标准的java.util日志记录属性来配置日志记录进入服务器端...但我还没有真正尝试过这个...希望今天晚些时候。

http://download.oracle.com/javase/6/docs/technotes/guides/logging/overview.html