我如何在logging.ini文件中使用django设置?
我在我的settings.py文件里有一个叫BASE_DIR的设置:
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
我需要在我的logging.ini文件中使用这个变量,以便设置我的文件处理路径。
日志记录的初始化是在同一个文件,也就是settings.py文件中,位于我的BASE_DIR变量下面。在这里,我告诉它我的logging.ini文件的路径:
LOG_INIT_DONE=False
if not LOG_INIT_DONE:
logging.config.fileConfig(LOGGING_INI)
LOG_INIT_DONE=True
我注意到fileConfig可以接受一个默认参数。我不确定这是不是我想要的,但我找不到关于如何使用这个参数的文档。
谢谢,
皮特
1 个回答
3
根据文档,
logging.fileConfig(fname[, defaults])
这个功能是从一个叫做 fname 的文件中读取日志配置,这个文件的格式是 ConfigParser。你可以在应用程序中多次调用这个功能,这样用户就可以选择不同的预设配置(前提是开发者提供了选择和加载这些配置的方式)。你还可以在 defaults 参数中指定一些默认值。
所以你可以简单地把一个字典作为第二个参数传入,比如:
{'basedir': BASE_DIR}
然后在你的 logging.ini
文件中就可以直接用它的 basedir
项:
[SomeSection]
somefile: %(basedir)s/foobar.txt
类似这样的用法!