使日志消息在Java GoogleAppEngine开发服务器上可见(与GWT一起使用)

使日志消息在Java GoogleAppEngine开发服务器上可见(与GWT一起使用),java,google-app-engine,gwt,Java,Google App Engine,Gwt,我正在使用java.util.logging.Logger在我的java GoogleAppEngine应用程序上进行日志记录。在部署应用程序时,这一点非常有效。但是,在开发服务器上运行应用程序时,我无法查看日志消息 其他重要细节: 我在GWT开发模式容器中运行AppEngine开发服务器,而不是独立运行 我配置了logging.properties,但它似乎没有什么区别(它在生产中使用logging.properties或不使用logging.properties都能正常工作,在开发中使用l

我正在使用
java.util.logging.Logger
在我的java GoogleAppEngine应用程序上进行日志记录。在部署应用程序时,这一点非常有效。但是,在开发服务器上运行应用程序时,我无法查看日志消息

其他重要细节:

  • 我在GWT开发模式容器中运行AppEngine开发服务器,而不是独立运行
  • 我配置了logging.properties,但它似乎没有什么区别(它在生产中使用logging.properties或不使用logging.properties都能正常工作,在开发中使用logging.properties或不使用logging.properties都不能正常工作)
  • 如果在开发服务器上使用System.out.println,这将输出到运行GWT开发模式容器的终端。显然,这是一个可用的解决方法,但我希望日志记录只在开发和生产模式下工作

是否有人在开发模式下使用日志记录(与GWT开发模式容器一起使用AppEngine或不使用AppEngine)?是否有一些魔法咒语我需要查看我的日志输出?

我昨天也有同样的问题,但现在它对我有效

不确定更改是什么,但我将在下面发布我的配置,以便您可以尝试它(运行GAE 1.3.8,没有GWT,但不应该很重要)

请注意,日志将显示在控制台窗口中(在其他服务器日志中)。我不确定您是否可以让它登录到文件,因为服务器正在某种沙箱中运行。我只在本地环境中测试了此配置,没有上载

WEB-INF/appengine-WEB.xml:

   <?xml version="1.0" encoding="utf-8"?>
   <appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
      <!-- (omitted application,version from sample-->
      <system-properties>
        <property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>
      </system-properties>
   </appengine-web-app>
logtest.jsp:

<%@ page contentType="text/html;charset=UTF-8" language="java"%>
<%@ page import=" java.util.logging.Logger"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="sv" xml:lang="sv">
<head>
</head>

<%
Logger logger = Logger.getLogger("org.whatever.Logtest");
logger.info("logtest info");
logger.warning("logtest warning");
logger.severe("logtest severe");


%>

<body>
Check the console for logging
</body>

</html>

检查控制台的日志记录

请更改WEB-INF/logging.properties文件


确保在
logging.properties
文件中设置了正确的日志类和日志级别:

WEB-INF/logging.properties:

  # Set the default logging level for all loggers to WARNING
  #.level = WARNING
  #.level = ALL
  .level = INFO
# Configure a file log for devserver
handlers=java.util.logging.ConsoleHandler,java.util.logging.FileHandler
java.util.logging.FileHandler.pattern=/tmp/appengine-devserver.log
java.util.logging.FileHandler.limit=0  # no limit
java.util.logging.FileHandler.count=1
java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter

# Set the default logging level for all loggers to WARNING
.level = INFO

如果您仍然有问题,请停止服务器并重新启动Eclipse和服务器,也许这正是我工作的原因。另外,顺便说一句,我以“Debug as/Web应用程序”的形式运行它。我运行GWT这一事实非常相关。在GWT中运行时,没有GAE控制台。我没有使用Eclipse,所以如果有特殊的连接使日志消息显示在那里,这对我没有帮助。
# Configure a file log for devserver
handlers=java.util.logging.ConsoleHandler,java.util.logging.FileHandler
java.util.logging.FileHandler.pattern=/tmp/appengine-devserver.log
java.util.logging.FileHandler.limit=0  # no limit
java.util.logging.FileHandler.count=1
java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter

# Set the default logging level for all loggers to WARNING
.level = INFO