logging - 在 Json 中格式化 Airflow 日志 - 问题
问题描述
按照Format Airflow Logs in JSON和其中提到的指南,我将 log_config 复制到了 airflow/config 文件夹。但是当我运行网络服务器或调度程序时,我得到“模块未定义”(init .py 在配置文件夹中定义)并且 PYTHONPATH 被设置为气流/配置
错误是
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/airflow/logging_config.py", line 40, in configure_logging
logging_config = import_string(logging_class_path)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/airflow/utils/module_loading.py", line 33, in import_string
module = import_module(module_path)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'airflow.config'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.7/bin/airflow", line 25, in <module>
from airflow.configuration import conf
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/airflow/__init__.py", line 47, in <module>
settings.initialize()
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/airflow/settings.py", line 374, in initialize
LOGGING_CLASS_PATH = configure_logging()
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/airflow/logging_config.py", line 52, in configure_logging
'Unable to load custom logging from {} due to {}'.format(logging_class_path,err), isinstance('airflow',dict), isinstance('airflow.config',dict), type('airflow.config')
ImportError: ("Unable to load custom logging from airflow.config.log_config.LOGGING_CONFIG due to No module named 'airflow.config'",
现在它回来了,
ImportError: Unable to load custom logging from airflow.config.log_config.LOGGING_CONFIG due to section/key [logging/logging_level] not found in config
解决方案
如果你还没有弄清楚。看起来加载的代码logging_level
正在寻找它位于名为的部分logging
中airflow.cfg file
但是,默认情况下,此属性实际上位于core
section 下。因此,如果您将代码更改LOG_LEVEL: str = conf.get("core", "LOGGING_LEVEL").upper()
为此应该为您解决,或者您可以[logging]
在 airflow.cfg 中添加另一个部分。(需要重新排序)
推荐阅读
- python - 避免在 Selenium 中获取某些元素 - 例如自定义广告拦截器
- python - 如何在 python .pptx 中居中标题?
- javascript - React Native:试图注册两个同名的视图 RNCMaskedView
- php - 在 wordpress 中向 woocommerce 表单添加额外字段
- python - 在 Python 中将数据保存到文件中
- c++ - Eclipse 在非 C++ 头文件/源文件中添加注释行
- python - python for循环有效且更快的方式
- node.js - MongoServerSelectionError:getaddrinfo ENOTFOUND 944ef754a755
- java - `Advice.WithCustomMapping` 绑定动态添加的字段
- python - Mac OS - Tkinter:动态更改内置关闭按钮的样式