使用AppEngine进行日志记录不起作用(既不在IDE中也不在部署中)

时间:2011-07-11 19:19:26

标签: java google-app-engine logging

使用Eclipse 3.6SR2和相应的Google插件我创建了一个新的Web应用程序项目。 似乎所有东西都已预先配置为使用java.util.logging.Logger但我看不到输出,既不在IDE中也不在部署之后。

private void sendNameToServer() {
    Logger log = Logger.getLogger(TestAppEngine1.class.getName());
    log.setLevel(Level.INFO);
    log.info("info");
    log.severe("severe");
    System.out.println("out");
    System.err.println("err");
    log.log(Level.SEVERE, "severe");

我只能在Eclipe的“控制台”窗口中看到“out”和“err”,而不能看到Logger的日志。在部署和检查唯一的日志后,我看到正常的日志,例如由较长的初始加载时间创建,但Logger不记录NOR“out”或“err”。

事情已经检查过:

  • appengine-web.xml有< property name =“java.util.logging.config.file”value =“WEB-INF / logging.properties”/>
  • 我还将logging.properties移动到子文件夹“classes”并调整设置(在另一个问题中将其视为一个想法)
  • logging.properties仅包含“.level = ALL”
  • 服务器上的
  • 更改了最小日志级别,但仍然没有日志(“错误”是默认级别,将其设置为“调试”)
  • 多次部署
  • 让它坐一天
  • 在线查看已部署的版本
  • 检查了多个“控制台”窗口
  • 用Google搜索了几个小时

我真的迷路了。如果你能给我一个提示,将不胜感激。

4 个答案:

答案 0 :(得分:3)

问题解决了:

使用Google App Engine SDK时:

java.util.logging.Logger log = java.util.logging.Logger.getLogger("Test");
log.severe("severe");

在控制台和Google服务器上正常运行。

使用Google Web Toolkit时:

java.util.logging.Logger log = java.util.logging.Logger.getLogger("Test");
log.severe("severe");

在服务器部件中工作并输出到控制台 对于客户端部分包括

<inherits name="com.google.gwt.logging.Logging"/>

在(modulename).gwt.xml和(使用相同的日志记录命令)中,它将输出到控制台和浏览器中的一个小窗口。

但onModuleLoad()中没有任何技术可行。这似乎是一个盲区。

使用GAE + GWT时:与单独的GWT相同。

问题为什么我没有看到任何内容:尝试onModuleLoad和/或没有正确重新启动托管服务器我认为。
感谢鲍里斯向正确的方向暗示 另见 GWT logging setuphttp://code.google.com/webtoolkit/doc/latest/DevGuideLogging.html

答案 1 :(得分:0)

  1. 检查进口。您使用的是import java.util.logging.Logger;还是其他的?
  2. 从JavaSE main或JUnit运行此代码并查看控制台。

答案 2 :(得分:0)

检查你的eclipse启动配置,它可能包含类似

的内容
   -logLevel INFO 

你使用GWT吗? 如果是的话,日志记录存在一些问题,因为它们引入了改进的GWT日志记录...

最后的想法。干净的eclipse实例...拿3.7安装只有谷歌插件看看会发生什么。它适用于我们其他人: - )

答案 3 :(得分:0)

同样的事情发生在我身上,因为我在记录器声明后插入了这个

  

PrintWriter out;