【发布时间】:2022-01-15 16:37:17
【问题描述】:
我有一个名为 bar.py 的自定义模块,我将它导入到我的一些脚本中。它实际上是通过 pip install 从 pypi 索引导入的。 bar.py 模块看起来像这样(这实际上是我实际拥有的一个过于简化的示例,因此我可以在这里排除我的疑问。
import logging
def do_bar_logged():
logging.INFO('START DOING SOMETHING')
do_bar()
logging.INFO('END DOING SOMETHING')
我在其中导入 bar 的 do_bar_logged 的脚本之一称为 foo.py。它看起来像这样。
import logging
from bar import do_bar_logged # I need to install via pip bar before being able to import this, just like a regular module.
def main():
logging.INFO('START CALLING DO_BAR')
do_bar_logged()
logging.INFO('END CALLING DO_BAR')
我的问题是:是否有可能让两个日志都指向同一个文件而无需对任何内容进行编码?
【问题讨论】:
-
内置
logging专门为此而生。看看Logging HOWTO。 -
有可能。但不清楚你在问什么。有很多方法可以实现您的目标
-
@Adelin 我需要登录到放置在多个脚本中的相同文件。如果不对文件名进行硬编码,这可能吗?
-
你可以重定向标准输出。
-
当然。但理想情况下,您也不会使用
print调用进行日志记录。