感谢您的分享,阅读这篇文章有助于解决我项目的日志记录问题。我将分享我选择的解决方案,希望它可以帮助其他人。定义一个字典列表:
LOCAL_APPS = [
{'app_name': 'app1', 'level': 'INFO'},
{'app_name': 'app2', 'level': 'DEBUG'},
]
现在创建一个函数来修改设置的 LOGGING:
def create_app_logger(app_name, level):
app_handler = app_name + '_handler'
LOGGING['handlers'][app_handler] = {
'level': 'INFO',
'class': 'logging.FileHandler',
'filename': f'../logs/{app_name}_logs.log',
'formatter': 'custom',
}
LOGGING['loggers'][app_name] = {
'handlers': ['console', app_handler],
'level': level,
'propagate': False,
}
最后循环遍历列表:
for dictionary in LOCAL_APPS:
create_app_logger(dictionary['app_name'], dictionary['level'])
由于一个应用程序可以是一个独立的世界,这样您就可以为每个应用程序创建一个日志文件,而且您可以控制所需的日志记录级别。当然可以进一步个性化。
干杯