我希望在任何一个单独的 py 文件里,通过文件名,就能获取到一个 logger,然后这个 logger 就能写入到这个文件里,互不影响
我写了一个函数,但是发现每次获取到 logger,handlers 都是空的,然后每次都重新覆盖了一个文件
def getTaskLogger(task_path: str) -> logging.Logger:
logger = logging.getLogger(task_path)
if logger.hasHandlers():
return logger
formatter = logging.Formatter("%(asctime)s | %(levelname)s | [%(filename)s:%(lineno)d] | %(message)s")
f_handler = logging.FileHandler("{0}/task.log".format(task_path), mode="a")
f_handler.setLevel(logging.DEBUG)
f_handler.setFormatter(formatter)
c_handler = logging.StreamHandler()
c_handler.setLevel(logging.DEBUG)
c_handler.setFormatter(formatter)
logger.addHandler(f_handler)
logger.addHandler(c_handler)
logger.setLevel(logging.DEBUG)
return logger
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.