当我将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
}
我在日志中只看到这个:
我的应用中没有appengine-web.xml
个文件,也没有logging.properties
个文件。
请注意,即使对于显示的级别,它们也不使用平台中的级别。日志条目旁边有一个灰色的星形,按Warning
等级别过滤日志将排除我用该级别记录的日志消息。
请不要建议我使用SLF4J,因为SO上的其他一些海报最终只是为了完成这项工作。这是纯粹的邪恶,不应该是必要的。