如何让java.util.logging在App Engine Flexible Environment上运行?

时间:2016-12-28 18:42:46

标签: java google-app-engine

当我将Flexible Environment用于简单的Java Servlet时,我的大部分日志记录都没有显示出来。在本地运行Jetty时不在https://console.cloud.google.com/logs/viewer而不在终端上。

鉴于此app.yaml

runtime: java
env: flex
service: service-foo
runtime_config:
   jdk: openjdk8
   server: jetty9
manual_scaling:
  instances: 1
handlers:
- url: /.*
  script: this field is required, but ignored
  secure: always
beta_settings:
  java_quickstart: true
env_variables:
  JAVA_OPTS: >-
    -D.level=FINE
health_check:
  enable_health_check: false

这个Servlet init()方法:

public void init(ServletConfig config) throws ServletException {
    super.init(config);

    log.fine("Logging test. Level: fine."); // Not visible
    log.config("Logging test. Level: config."); // Not visible
    log.info("Logging test. Level: info."); // Visible
    log.warning("Logging test. Level: warning."); // Visible
    log.severe("Logging test. Level: severe."); // Visible
}

我在日志中只看到这个:

screenshot

我的应用中没有appengine-web.xml个文件,也没有logging.properties个文件。

请注意,即使对于显示的级别,它们也不使用平台中的级别。日志条目旁边有一个灰色的星形,按Warning等级别过滤日志将排除我用该级别记录的日志消息。

请不要建议我使用SLF4J,因为SO上的其他一些海报最终只是为了完成这项工作。这是纯粹的邪恶,不应该是必要的。

0 个答案:

没有答案