Google App Engine Flexible 中的多处理日志记录不起作用

问题描述

所以我们已经从使用单线程应用程序扩展到灵活的谷歌应用程序引擎中的进程。问题是当我们运行 GAE 应用程序时日志记录不起作用,但如果我从本地机器登录它就起作用。获取记录器使用以下函数:

def getLogger(self,name: str):
    if not self.instance.logging_setup:
        if self.execution_in_cloud():
            client = google.cloud.logging_v2.Client()
            client.get_default_handler()
            client.setup_logging(log_level=self.get_log_level())
            logging.StreamHandler().setFormatter(StackdriverFormatter())
        else:
            logging.basicConfig(format='%(asctime)s %(levelname)-8s [%(threadName)s] %(name)-15s %(message)s',stream=sys.stdout,level=self.get_log_level())
        self.instance.logging_setup = True
    return logging.getLogger(name)

所以这很完美,所有记录器都从这个上下文类中获取这个函数。如果生成了一个新进程,将为该处理程序设置日志记录。从进程日志记录在本地工作,但在 GAE 应用程序中运行时不起作用。这是一个已知问题,还是需要对记录器进行其他设置?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)