没有源代码可用于类型org.apache.log4j.Logger;你忘了继承一个必需的模块吗?

时间:2012-03-15 10:50:53

标签: gwt smartgwt gwt2

没有源代码可用于org.apache.log4j.Logger类型;你忘了继承一个必需的模块吗?

我想创建一个日志文件。 所以我添加了log4j 1.2.16并构建了Path

在log4j.properties中输入consoleappender和滚动文件的代码。

中的

    private static Logger logger = Logger.getLogger(Myclass.class);

当我运行xeb应用程序时出现错误

 No source code is available for type org.apache.log4j.Logger; did you forget to inherit a required module?

然后在Myproject.gwt.xml中编写此代码

<inherits name="org.apache.log4j"/>

然后我运行我的web应用程序*我无法在developmentMode中看到URL“

3 个答案:

答案 0 :(得分:4)

LOG4J不支持GWT,因为LOG4J主要用于Java / J2EE应用程序,用于控制台/文件记录。在GWT的情况下,您记下的Java代码实际上是由GWT编译器编译为JavaScript的。在该情况下,脚本将无法识别记录器类型。我认为你可以将它用于服务器包。

尝试GWT本地日志记录的以下链接(这与console.log()类似)

http://code.google.com/webtoolkit/doc/latest/DevGuideLogging.html

此API在Logging for GWT方面也很出色。我推荐这个

http://code.google.com/p/gwt-log/

答案 1 :(得分:2)

Log4j使用未在GWT library中模拟的IO类。您还需要在构建路径中提供log4j源代码。

虽然gwt-log很好,但GWT内置了java.util.logging仿真。 有关详细信息,请参阅http://code.google.com/webtoolkit/doc/latest/DevGuideLogging.html

答案 2 :(得分:1)

我认为GWT还不支持客户端的log4j。您可以使用gwt-log来实现此目的。