我在主函数/进程中使用了日志模块,它运行良好,但在Actor进程/子进程中似乎无法运行。如何让它发挥作用?在下面的代码示例中,logging.info 在主进程中工作,但在工作进程中失败。谢谢。
import logging
import ray
@ray.remote
class Worker(object):
...
def train(self):
logging.info("fail print")
...
worker = Worker.remote()
ray.get(worker.train.remote())
logging.info("successful print")
最佳答案
有几件事需要注意。
logger.warning
而不是 logger.info
因为 Python 的日志记录级别默认设置为 `warning。 这是一个工作示例:
import logging
import ray
logger = logging.getLogger(__name__)
@ray.remote
class Worker(object):
def __init__(self):
self.logger = logging.getLogger(__name__)
def train(self):
self.logger.warning("print from inside worker")
ray.init()
worker = Worker.remote()
ray.get(worker.train.remote())
logger.warning("print from outside worker")
关于python - 如何在 Ray 中使用 python 日志记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55272066/