Python 将进程id分配给异步请求tornado

Python 将进程id分配给异步请求tornado,python,tornado,Python,Tornado,我想创建一致的日志,以便我可以计算每个tornado请求的统计数据,我有一个如下请求: @tornado.web.asynchronous def post(self): try: process_id = uuid.uuid4() logging.info("Incoming request (process_id: %s) to %s" % (str(process_id), self.__class__.__name__)) 当收到请求时,

我想创建一致的日志,以便我可以计算每个tornado请求的统计数据,我有一个如下请求:

@tornado.web.asynchronous
    def post(self):
    try:
        process_id = uuid.uuid4()
        logging.info("Incoming request (process_id: %s) to %s" % (str(process_id), self.__class__.__name__))
当收到请求时,它会打印一些信息,但请求会在tornado代码中完成,而tornado代码只会打印以下内容:

[I 150331 10:55:09 web:1728] 200 POST /transform (127.0.0.1) 3017.19ms
有没有办法将我的进程id传递给tornado,或者让它创建一个,这样我就可以连接请求的第一个和最后一个日志事件


谢谢,

一般来说,记录此类内容的最佳方法是将其附加到RequestHandler实例。对于日志记录,您可以重写,它可以访问处理程序。如果需要在多个位置使用,可能需要将请求ID或RequestHandler实例传递给代码的其他部分


将StackContext用作线程是可能的,但很棘手。如果您真的需要它的普及性,本地的,但显式地传递它可能是最好的。

您能将它添加到self.request吗?