Google App Engine 使用java.util.logging.Logger
(JUL) 进行所有日志记录。因此,要记录任何内容(然后通过 检索它LogService
),您只需像通常使用 JUL 一样进行记录:
private Logger logger = Logger.getLogger(this.class.getName());
// ...
public void doWhatever() {
logger.info("This will be logged.");
}
但是,如果您阅读 GAE 教程/指南以了解他们的各种服务 API(Memcache、Mail、Datastore 等),他们都会重申您应该始终针对其中一项服务出现故障的可能性进行编码。GAE 甚至提供了一个CapabilitiesService
您可以在调用任何服务方法之前检查的方法,以查看该服务当前是否已启用。
所以我问:JUL 日志记录操作是否有可能失败:
logger.info("我能不能失败而不被记录?");
如果不是,为什么?如果是这样,在 JUL 阻塞的情况下,我该怎么做才能“故障转移”?提前致谢。