【发布时间】:2011-08-28 16:20:08
【问题描述】:
我有一个(智能)GWT 应用程序,它在服务器端使用 Spring,并通过 log4j 在其中记录其内容。这有效(部署在 tomcat6/ubuntu 10.04 LTS 上)。
在客户端,我使用正确配置的 gwt-log 远程日志库。运行调试模式时,我在 Eclipse 的“开发模式”窗格中看到了 gwt-logs。但是,在部署时,我看不到 gwt-log 日志。我的配置如下:
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
...
<appender name="FILE_LOG2" class="org.apache.log4j.FileAppender">
<param name="File" value="${PuzzelVandaag-instance-root}WEB-INF/logs/Sytematic.log" />
<param name="Append" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="--- %d [%.4t] %-5p %c{1} - %m%n"/>
</layout>
</appender>
...
<!-- this one works, normal server-side code -->
<category name="com.isomorphic">
<priority value="DEBUG" />
<appender-ref ref="FILE_LOG2" />
</category>
<!-- currently I use this to configure gwt-log stuff. Is this the right way? -->
<category name="gwt-log">
<level value="DEBUG" />
<appender-ref ref="FILE_LOG2"/>
</category>
服务器端包日志记录有效,但我在客户端遇到问题。我相当确定远程日志记录 servlet 可以正常工作,因为我没有看到任何错误。我在 web.xml 中配置如下:
<servlet>
<servlet-name>gwt-log-remote-logger-servlet</servlet-name>
<servlet-class>com.allen_sauer.gwt.log.server.RemoteLoggerServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>gwt-log-remote-logger-servlet</servlet-name>
<url-pattern>/[modulename]/gwt-log</url-pattern>
</servlet-mapping>
当我记录内容时,我会拨打Log.debug("some msg") 之类的电话,同时导入com.allen_sauer.gwt.log.client.Log。
总而言之,我认为我遵循了正确的方法。我还使用 -Dlog4j.debug 参数运行托管模式,这就是它告诉我的:
log4j: Retreiving an instance of org.apache.log4j.Logger.
log4j: Setting [gwt-log] additivity to [true].
log4j: Level value for gwt-log is [DEBUG].
log4j: gwt-log level set to DEBUG
log4j: Adding appender named [STDOUT] to category [gwt-log].
log4j: Adding appender named [SmartClientLog] to category [gwt-log].
log4j: Adding appender named [FILE_LOG2] to category [gwt-log].
为了补全,这里是.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"/>
我是否遗漏了一些明显的东西?我是 log4j 新手...任何帮助将不胜感激!
【问题讨论】:
标签: gwt log4j tomcat6 smartgwt