我正在使用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>
答案 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不在模拟类中?
如果能够如此接近但无法在生产中跟踪这些类型的错误,那将是一种耻辱。
然而,这对我来说没有意义,因为远程日志记录服务似乎只使用了vanilla java.util.Logging:
---------更新------------
为了它的价值,我最终获取了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