我的settings.py文件中有一个BASE_DIR设置:
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
我需要在logging.ini文件中使用此变量来设置文件处理程序路径。
日志记录的初始化发生在我的BASE_DIR变量下面的相同文件settings.py文件中。在这里,我告诉它我的logging.ini文件的路径:
LOG_INIT_DONE=False
if not LOG_INIT_DONE:
logging.config.fileConfig(LOGGING_INI)
LOG_INIT_DONE=True
我注意到fileConfig可以使用默认参数。我不确定这是否是我正在寻找的,但我似乎无法找到有关如何使用此参数的任何文档。
谢谢, 皮特
答案 0 :(得分:3)
根据the docs,
logging.fileConfig(fname[, defaults])
从a读取日志记录配置 名为fname的ConfigParser格式文件。 这个函数可以调用几个 来自应用程序的时间,允许 最终用户可以选择 各种预罐装配置(如果 开发人员提供了一种机制 提出选择并加载 选择配置)。默认为 传递给ConfigParser即可 在defaults参数中指定。
所以你可以简单地将第二个参数传递给像
这样的字典{'basedir': BASE_DIR}
然后只在basedir
文件中插入其logging.ini
条目:
[SomeSection]
somefile: %(basedir)s/foobar.txt
之类的!