BASE_DIR = os.path.dirname(os.path.abspath(__file__))
我需要在logging.ini文件中使用这个变量来设置文件处理程序路径。
日志的初始化发生在同一个文件settings.py文件中,在my BASE\u DIR变量下面。这里我告诉它logging.ini文件的路径:
LOG_INIT_DONE=False if not LOG_INIT_DONE: logging.config.fileConfig(LOGGING_INI) LOG_INIT_DONE=True
我注意到fileConfig可以采用默认参数。我不确定这是否是我要找的,但我似乎找不到任何有关如何使用此参数的文档。
谢谢, 皮特
根据 the docs
logging.fileConfig(fname[, defaults])
从 这个函数可以调用几个 来自应用程序的时间,允许 最终用户能够从 各种预屏蔽配置(如有必要 开发人员提供了一种 选择的配置)。默认为 传递给ConfigParser的 在defaults参数中指定。
所以你可以简单地把字典作为第二个参数
{'basedir': BASE_DIR}
然后插入它的 basedir 进入你的 logging.ini
basedir
logging.ini
[SomeSection] somefile: %(basedir)s/foobar.txt
诸如此类!